加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读