我需要做的只是从同一目录中的文件中进行简单读取,但是由于某种原因,它拒绝工作。
在遇到问题后进行的这一快速测试中,它工作得很好,并在文本文件中输出了条目数。
#include <iostream>
using std::cout;
using std::cin;
#include <cstdio>
int main()
{
int a;
int b = 0;
freopen ("7.txt", "r", stdin);
while (cin >> a)
++b;
cin.clear();
fclose (stdin);
freopen ("7.txt", "r", stdin);
cout << b << '\n';
fclose (stdin);
}
编辑:哇,我为所有试图绕过这个问题的人感到抱歉。当我发布此消息时已经很晚了,但我以为我完成了。显然不是。现在,在重新打开文件以将代码发布到其中之后,我意识到我之前将所有内容都移到了一个文件夹中,但是显然当我尝试运行实际文件时,它已保存回该文件夹之外,因此无法打开“ 7 。文本文件”。
我想问题解决了,可悲的是浪费了空间,因为它甚至还没有完整O_o。
EDIT2:好的,现在我很困惑。我在这台计算机上有一个临时帐户,但是当我登录该帐户询问另一个问题时,这是我打算在另一晚发布的帐户。问它时,我什至没有在这台计算机上。如果一切准备就绪,不知道为什么不这样发布。
最佳答案
我最好的“猜测”是您正在尝试重新读取同一文件。如果是这种情况,那么您可以尝试以下方法:
std::ifstream file("7.txt");
std::string line = "";
while(std::getline(file, line))
{
//do something
}
//reset file pointer
file.clear();
file.seekg (0, std::ios::beg);
//re-read file
while(std::getline(file, line))
{
//do something else
}
请将来尝试提出更好的问题。