2 qq 33555452 qq_33555452 于 2016.03.12 20:16 提问

为什么getline总是获取不到第一单词呢
c++

求学霸帮帮忙图片

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.12 22:23
已采纳

因为这句的原因istream_iterator in_vec(in_2);
楼主不信可以注释掉试试,一定能读到第一个单词
原因的话:
你将迭代器用in_2初始化以后其实指针是指向第一个单词的尾部(这点楼主应该知道吧,就像迭代器到end了以后,其实是指向最后一个元素的后面一样),然后再用getline读是读不到第一个单词的

qq_33555452
qq_33555452 那我有什么方法可以执行我想要的操作呢,求大神帮我一下
接近 2 年之前 回复
qq423399099
qq423399099 回复qq_33555452: 是流迭代器引起的 ,初始化以后它其实指针已经移到第一个元素的末尾处了
接近 2 年之前 回复
qq_33555452
qq_33555452 你说的指针是指文件自身的还是流迭代器呢,
接近 2 年之前 回复
qq_33555452
qq_33555452 我注释了的,可以用我就是没搞懂为什么他就不从第一个单词读取,嘿嘿,谢谢你,我要怎么解决呢
接近 2 年之前 回复
wangtiewei
wangtiewei   2016.03.12 22:11

前面加个打开文件的判断。是不是文件打开失败造成了句柄没有关联

qq_33555452
qq_33555452 谢谢回答,文件可以读的
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!