文件里的节点为什么不能全部输出!文件格式是每行一个整数(一个整数代表一个节点,)是不是代码有问题?

txt文件格式:
5983
5980
5981
5986
5987
5984
5985
6797
6794
6795
6793
6790
6791
6798
6294
270
271
273
274
275
276
277
2142
3519
3518
3513
3512
3511
.
.
.
代码如下:
#include
#include
#include
#include
using namespace std;
int main()
{
char c1[20];
string buffer;
string str1;
stringstream ss;
ifstream inputFile("C:\Users\liux\Desktop\nodes.txt");
while (getline(inputFile, buffer))
{
ss.clear();
ss.str(buffer);
ss >> str1 ;
strcpy(c1, str1.c_str());
cout << str1 << endl;
}
}

5个回答

 你是在控制台里面显示么?控制台的缓冲有限,你输出的东西多了,后面的会盖住前面的,默认只能显示最后80行。
但是你的程序没有问题。
你可以用这个命令
x:\>你的程序.exe > c:\1.txt
把控制台的输出重定向到一个文件里,就能看到完整的结果了。
suanfaxiazai
suanfaxiazai 对了,原来是被覆盖了!谢啦
接近 2 年之前 回复

如果问题得到解决,麻烦点下我回答右边的采纳,谢谢

文本文件最后一行缺个回车,所以getline获取不到,试下fread等函数

输出截图拿出来看看啊

![图片说明](https://img-ask.csdn.net/upload/201712/14/1513221382_203568.png)图片说明
可以全部输出,你可以打印行数对应文本行数就知道了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!