标题:Bjarne 请进
只看楼主
chencyh
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-11-12
 问题点数:0 回复次数:2 
Bjarne 请进

上次那个程序我需要换成一个二位数组读入,该怎么弄?最后麻烦你这一次,谢
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <string.h>
const char * Filename="ip.txt";
/*int ReadFile(char ip[0][])//,char Filename[])
{
ifstream file(Filename);
file.getline(ip,48);
file.close();
return 0;
}*/

void conversion(char cc[],char *ch[],char cc2[],int num)
{
int k=1,m=2,n=0,b=0;
strcpy(cc,ch[1]);
while(m<num-1)
{
strcat(cc," ");
strcat(cc,ch[m]);
m++;
}
while(n<=strlen(cc))
{
cc2[b]=cc[n];
if(cc[n]=='\\')
{
b++;
cc2[b]=cc[n];
}
b++;
n++;
}
}
void main(int argc,char *argv[])
{
ifstream file(Filename);
int i=0,k=1;
char ip[3][50],cc[256],cc2[256];
conversion(cc,argv,cc2,argc);
//ReadFile(ip[0]),cc2);
file.getline(ip[0],47);
file.close;

cout<<"eth.dst=";
for(i=0;i<17;i++)
cout<<ip[0][i];
cout<<endl;

cout<<"eth.src=";
for(i=18;i<36;i++)
cout<<ip[0][i];
cout<<endl;

cout<<"eth.type=";
for(i=37;i<42;i++)
cout<<ip[0][i];
cout<<endl;

cout<<"ip.hrd_len=";
for(i=43;i<45;i++)
cout<<ip[0][i];
cout<<endl;

cout<<"ip.dsfield.ce=";
for(i=0;i<5;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.len=";
for(i=6;i<11;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.frag_offset=";
for(i=12;i<17;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.ttl=";
for(i=18;i<20;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.proto=";
for(i=21;i<23;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.checksum=";
for(i=25;i<30;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.src=";
for(i=31;i<42;i++)
cout<<ip[1][i];
cout<<endl;

cout<<"ip.dst=";
for(i=43;i<48;i++)
cout<<ip[1][i];
for(i=0;i<5;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.srcport=";
for(i=6;i<11;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.dstport=";
for(i=12;i<17;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.seq=";
for(i=18;i<30;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.ack=";
for(i=31;i<42;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.hdr_len=";
for(i=43;i<45;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.flag.fin=";
for(i=46;i<48;i++)
cout<<ip[2][i];
cout<<endl;

cout<<"tcp.window_size=";
for(i=0;i<5;i++)
cout<<ip[3][i];
cout<<endl;

cout<<"tcp.checksum=";
for(i=6;i<11;i++)
cout<<ip[3][i];
cout<<endl;
cout<<"按任意键结束!";
cin>>k;
}




Bs6sayvg.txt (175 Bytes) Bjarne 请进


搜索更多相关主题的帖子: Bjarne 
2005-12-04 12:42
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
我总是不太明白你想要表达的意思。可不可以说的再明白一点呀!

=×&D o I p R e E n C g T l X&×=
2005-12-05 09:21
chencyh
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-11-12
得分:0 
哦,主要是做一个分别对tcp,ip层进行分析数据报的程序,程序只需有个有一个打开文件的和运行的功能,主要是打开一个捕捉下来例如我上传得ip.dat的16进制文件,然后运行,在窗口有一个文本把分析结果列出来就行,不是像你上次那样直接按运行调用一个exe文件从dos输出,谢了,这作业下星期就要交了,请帮帮忙。要不就要重修了。。。
2005-12-09 17:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-36578-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.167805 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved