gpt4 book ai didi

c++ - 无法从文件中读取一行的所有整数(ifstream)

转载 作者:行者123 更新时间:2023-11-28 07:05:51 25 4
gpt4 key购买 nike

<分区>

这个函数应该像这样打开一个 .txt 文件:

1    4    5 

2 4 6

等(数字之间有制表符)

并将每个数字保存在一个变量中

void Graph::readData(char* fname)
{
//cout<<"1";
int x,y,w;//assistant variables
ifstream input;//stream for reading file
input.open(fname,ios::in);
if(!input)
{
cerr<<"Input file doesn't exist"<<endl;//error if file doens exist
}
else
{
cout<<"Input file opened"<<endl;
cout<<"Reading Data from file..."<<endl;
while(!input.eof())//till the end of file
{
input>>x>>y>>w;//reads the links-site
cout<<"x: "<<x<<"y:"<<y<<"w: "<<w<<endl;
insertLink(x,y,w);//inserts them

}
input.close();//closing file
}
}

但是,当我“算出”结果时,我会得到这样的结果:

x=1  y=  w=5

x=2 y= w=6

没有你!

为什么会这样?

PS:另外,eof()在文件完成后变为真(多读一行)。如何正确停止 while 迭代?

这是我试图读取的文件:http://www.speedyshare.com/tpvuD/input.txt

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com