Чтение из ifstream до конца файла - PullRequest
0 голосов
/ 21 апреля 2019

Я пишу простое консольное приложение на 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).Также, когда я отлаживаю приложение, цикл не выполняется, как будто getline возвращает отрицательное значение.Код должен показывать все числа, по одному на каждую строку, но он просто возвращает 0;

1 Ответ

0 голосов
/ 21 мая 2019

Программа компилируется и выдает ожидаемый результат при запуске. Ваша проблема, кажется, одна из следующих:

  1. Имя файла неверное.
  2. Файл не находится в том же каталоге, что и исполняемый файл.
  3. Файл вообще не существует.
...