ifstream fail()函数问题
2011-05-21 21:27
525 查看
今天写一个程序,其中有一部分是读取文件中的每一行,放入vector<striing>中,我开始是这么写的
在while后还加了一句:
判断是不是读文件过程中有fail。如果只是读到流末尾,只是会input.eof()为真,但是调试时发现当执行到input.fail(),结果也为真。导致后面的代码都没有执行。
http://bytes.com/topic/c/answers/512483-ifstream-fail-vs-eof-question
这篇帖子解释了问题的原因,原因在于getline()函数在读到流末尾时,会将failbit置为真,因此出现了上面的问题。
while(getline(input, line)) { strVec.push_back(line); }
在while后还加了一句:
if(input.fail()) { return 2; }
判断是不是读文件过程中有fail。如果只是读到流末尾,只是会input.eof()为真,但是调试时发现当执行到input.fail(),结果也为真。导致后面的代码都没有执行。
http://bytes.com/topic/c/answers/512483-ifstream-fail-vs-eof-question
这篇帖子解释了问题的原因,原因在于getline()函数在读到流末尾时,会将failbit置为真,因此出现了上面的问题。
相关文章推荐
- ifstream的open函数问题
- avformat_find_stream_info函数卡住问题
- vc IDE 环境乱导致的问题 ifstream binary 出错问题解决
- ifstream读取文件失败和乱码问题
- ifstream 文件流读取格式数据出现的问题
- c++ 学习中遇到的问题: error C2065: 'ifstream' : undeclared identifier
- ifstream(一)之 eof() 函数——解决读取文件最后一个数据多读一次的方法
- JS一起学01:css复习、js基础知识、事件、参数、函数、网页换肤、if判断、className问题、浏览器执行顺序
- ifstream打印汉字乱码问题 UTF-8转GB2312
- c++ 学习中遇到的问题:ifstream打开指定路径时,显示路劲错误
- 如何使用 URLOpenStream 函数 - 回复 "天泽" 的问题
- 关于std::fstream以及std::ifstream打开中文路径名失败的问题和解决方法
- 微信自定义菜单发布出现 “invalid charset. please check your request, if include \\uxxxx will create fail!”的问题
- C++中ifstream问题
- ifstream,fstream 读写文件问题,read读取字节不够
- ifstream& operator>>函数无法获取空行和peek函数的用法
- VC中ifstream中文路径读取失败的问题
- 关于 ifstream ofstream 的读写问题
- 读文件时输入流ifstream中函数tellg()与seekg()的详解与示例
- ifstream 流 判断文件是否结尾的函数eof()