eof问题c
发布时间:2020-12-16 06:48:52 所属栏目:百科 来源:网络整理
导读:我在 Windows XP上使用Dev C #include iostream#include fstream#include stringusing namespace std;int main (){ string STRING; ifstream infile; infile.open ("sample.txt"); while(!infile.eof) { getline(infile,STRING); coutSTRING; } infile.close
我在
Windows XP上使用Dev C
#include <iostream> #include <fstream> #include <string> using namespace std; int main () { string STRING; ifstream infile; infile.open ("sample.txt"); while(!infile.eof) { getline(infile,STRING); cout<<STRING; } infile.close(); return 0; } 此代码给出以下错误 C:C++read.cpp: In function `int main()': C:C++read.cpp:11: error: could not convert `infile.std::basic_ios<_CharT,_Traits>::eof [with _CharT = char,_Traits = std::char_traits<char>]' to `bool' C:C++read.cpp:11: error: in argument to unary ! 我不知道这里有什么问题我无法编译代码 解决方法
如果您将循环更改为
while(getline(infile,STRING)) { cout<<STRING; } 你可以避免两次读取最后一个值的可能性(见this SO post). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |