返回信息流不知道为什么下面的程序 文件写入成功,但打印失败。
输入文件内容是1到10 但只打印了一个1。
感觉自己真的太菜啦
这是一条镜像帖。来源:北邮人论坛 / cpp / #98486同步于 2018/11/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
cpp流迭代器求助!新手求助!
buptroot
2018/11/3镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
为什么不在一个for_each里搞呢
就算你非要这么搞,由于你的第一个for_each,ifs中的指针已经指向文件末尾了(in不受影响,所以再次调用会打印一个1,这是它构造时所指向的int)
所以你可以把两个for_each调换一下,print就会有了,但是文件中应该会只剩下1
解决方案的话,要么写在一个for_each里,要么两个for_each中间重新打开一下文件,并且重置in,大概这么写
ifs.close();
ifs.open(argv[1]);
in = std::istream_iterator(ifs);
没编译测试,思路应该对
//下次贴代码别贴图片,你这样只能肉眼debug
谢谢 ?! 一觉醒来就十大了 太感谢大家了
【 在 Nroskill 的大作中提到: 】
: 为什么不在一个for_each里搞呢
: 就算你非要这么搞,由于你的第一个for_each,ifs中的指针已经指向文件末尾了(in不受影响,所以再次调用会打印一个1,这是它构造时所指向的int)
: 所以你可以把两个for_each调换一下,print就会有了,但是文件中应该会只剩下1