Я изучаю файловый ввод-вывод C ++ и испытываю трудности с открытием файла для чтения. Я пробовал простую изолированную программу ввода файлов в Eclipse CDT (Ubuntu 18.04) и Visual Stud ios (Windows 10). В Visual Stud ios он читает файл без проблем, но в Eclipse он устанавливает флаг сбоя при открытии файла. Я попытался .clear () установить флаг сбоя, чтобы увидеть, сможет ли он по-прежнему читать файл, но он читает его так, как будто он пустой.
Моя программа выглядит следующим образом:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main() {
ifstream f;
f.open("test.txt");
if (!f.is_open()) {
cout << "file could not be opened" << endl;
cout << "failbit? " << (f.fail() ? "yes" : "no") << endl;
return -1;
}
cout << "file opened successfully" << endl;
string line;
int i = 0;
while (f.peek() != EOF) {
getline(f, line);
cout << "line " << i << ": " << line << endl;
i++;
}
}
Это работает на VS, но мне нужно, чтобы оно работало и на Eclipse. Открыта для любых предложений, спасибо.