从ifstream读取直到文件结束

时间:2019-04-21 10:38:35

标签: c++ fstream

我正在用cpp编写简单的控制台应用程序,但是我编写它的方法都没有成功。我正在尝试从ifstreamed文件中逐行读取文件,直到文件结束。


#include <string>
#include <fstream>
#include <iostream>

using namespace std;

void lowtempbin(string inpfile){
    ifstream wyciag(inpfile.c_str());
    string row_temp_bin;
    int i=0;
    while(getline(wyciag, row_temp_bin)){
    i++;
    cout<<i;
    }
}
int main(){
      lowtempbin("danesystemy.txt");
      return 0;
}

为什么程序不进入while循环,并且如果getline没有加载任何东西,那么整个函数应该返回0?然后执行while之后的代码(不在内部)。我要补充一点,我将lowtempbin()内部的参数传递给main,该文件的名称与可执行文件位于同一目录中(在代码:blocks / project / bin / Debug中)。同样,当我调试应用程序时,while循环永远不会执行,就像getline返回负值一样。 代码应该删除所有数字,每行一个,但是它只返回0;

1 个答案:

答案 0 :(得分:0)

程序在运行时进行编译并产生预期的结果。 您的问题似乎是以下问题之一:

  1. 文件名不正确。
  2. 文件与可执行文件不在同一目录中。
  3. 该文件根本不存在。