在假设情景中,我不知道文件中有多少项。在文件结束之前,我将使用什么样的循环来读取文件中的项?目前正在使用的代码I如下。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inputFile;
int num;
inputFile.open("TenNos.txt");
cout << "Reading data from the file. \n";
inputFile >> num;
cout << num << endl;
return 0;
}
答案 0 :(得分:1)
while (inputFile >> num)
{
cout << num << endl;
}
将从文件中读取并打印int
,直到找到不是int
的内容,文件结束,文件未打开或文件呈现为任何文件都不可读其他原因。
检查various state flags documented here将帮助您确定读数停止的原因。
More in std::istream in general。以及operator bool explaining how and while (inputFile >> num)
works上的页面。
如果在检测到错误后您想要清理并继续,请确保you read clear()
和ignore()
答案 1 :(得分:1)
你应该添加fstream以便能够读取文件然后使用while循环读取文件的内容直到结束。
#include <fstream> // for files
#include <iostream> // printing on screen by default
int main()
{
ifstream inputFile;
int num;
inputFile.open("TenNos.txt");
cout << "Reading data from the file. \n";
while(inputFile >> num)
cout << num << endl;
return 0;
}