【发布时间】:2019-03-03 13:53:07
【问题描述】:
这是我的代码。
ifstream inFile;
ofstream outFile;
string line, line2;
inFile.open("DATA.txt");
outFile.open("DATA.txt");
getline(inFile, line);
cout << line;
getline(inFile, line2);
cout << line2;
getline(cin, line);
getline(cin, line2);
outFile << line << "\n" << line2;
据我了解, getline(inFile, line) 应该将我的文本文件的第一行分配给一个名为 line 的字符串。然后 cout
我可以使用 getline(cin, line) 和 outFile 很好地输入。文件已更新,我可以看到我在其中输入的内容,但它无法正确读取和打印这些行。
p.s 这是我的第一个问题,我不完全确定如何在标题中提问,所以我愿意接受批评。
【问题讨论】:
-
也许它没有读取你的文件,因为你把它放在了错误的文件夹中。
-
为什么要打开同一个文件两次?为什么不打开一次阅读和写作?
-
在尝试阅读之前,请务必确保您的文件
is_open()。 -
您应该在打开和读取文件后检查错误。这将为您提供可能出现问题的线索。
-
默认情况下打开文件进行输出会删除文件内容(截断)。这就是我的猜测,为什么这没有达到你的预期。在读取文件内容之前删除文件。
标签: c++ file output cout getline