#include<iostream>
#include<string>
using namespace std;
const int PROFIX=2;
char *newstr(char *str,char *seg,const int len)
{
int i;
for(i=0;i<len;++i)
str[i]='A'+rand()%26;
str[i+1]='\0';
return strcat(str,seg);
//该函数调用后seg指向新的字符数组的尾部,str指向字符数组的头部
//例如seg指向'abc'的a,str指向'PH'的P,之后str指向P,seg指向c
//因为错把str当成新字符数组的指针,浪费了3个小时!
}
void main()
{
char buffer[1024];
cout<<"请输入原始报文:"<<endl;
cin.get(buffer,1024);
char preSix[PROFIX+1];
char *seg=buffer;
char *segSix=newstr(preSix,seg,PROFIX);
cout<<"第六层报文:"<<segSix<<endl;
char preFive[PROFIX+1];
char *segFive=newstr(preFive,preSix,PROFIX);
cout<<"第五层报文:"<<segFive<<endl;
char preFour[PROFIX+1];
char *segFour=newstr(preFour,preFive,PROFIX);
cout<<"第四层报文:"<<segFour<<endl;
char preThi[PROFIX+1];
char *segThi=newstr(preThi,preFour,PROFIX);
cout<<"第三层报文:"<<segThi<<endl;
char preSec[PROFIX+1];
char *segSec=newstr(preSec,preThi,PROFIX);
cout<<"第二层报文:"<<segSec<<endl;
char preFir[PROFIX+1];
char *segFir=newstr(preFir,preSec,PROFIX);
cout<<"第一层报文:"<<segFir<<endl;
}
现在还没有循环好!
原文链接: https://www.cnblogs.com/wjhkxcz/archive/2013/03/21/2973746.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/81499
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!