亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我用buffer+1,輸出來是地址,這是不對的把?

我用buffer+1,輸出來是地址,這是不對的把?

呼啦一陣風 2022-05-26 15:11:18
現有一個txt。每行僅有一個詞:No.10.000000192.168.0.100192.168.0.102TCP4480>commplex-link[SYN]Seq0Win64240Len0MSS1460SACK_PERM=1用ifstream讀入該txt,循環getline存入buffer,當buffer為'No.'時,下一行數據'1'賦值給int num,下下行數據”0.000000“賦值給float time;當buffer為'Seq'時,下一行數據'0'賦值給int seq;當buffer為'Win'時,下一行數據'64240'賦值給int win;當buffer為'Len'時,下一行數據'0'賦值給int len。我用buffer+1,輸出來是地址,不對。我本來就對輸入輸出流不是很理解,跪求能人解答。
查看完整描述

2 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

#include<iostream>
#include<fstream>
#include<string>
#include<iomanip>
#include<assert.h>
using namespace std;

void main()
{
char buffer[50];
ifstream inf("E:\\test\\test.txt");
assert(inf);
int num,seq,win,len;
float time;
while(inf.getline(buffer,50))
{
if(strcmp(buffer,"No.")==0)
{
if(inf.getline(buffer,50))
num=atoi(buffer);
if(inf.getline(buffer,50))
time=atof(buffer);
}
if(strcmp(buffer,"Seq")==0)
{
if(inf.getline(buffer,50))
seq=atoi(buffer);
}
if(strcmp(buffer,"Win")==0)
{
if(inf.getline(buffer,50))
win=atoi(buffer);
}
if(strcmp(buffer,"Len")==0)
{
if(inf.getline(buffer,50))
len=atoi(buffer);
}
}
inf.close();
cout<<"num:"<<num<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(6)<<"time:"<<time<<endl;
cout<<"seq:"<<seq<<endl;
cout<<"win:"<<win<<endl;
cout<<"len:"<<len<<endl;
}



查看完整回答
反對 回復 2022-05-30
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

buffer 用pointer 不要用數組
你仔細復習一下pointer的用法,
int *p = 1;
cout << p <<endl;
cout << *p <<endl; 出來的是不一樣的東西。

查看完整回答
反對 回復 2022-05-30
  • 2 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號