我用什么样的循环来读取文件



在一个假设的场景中,我不知道文件中有多少项。我将使用哪种循环来读取文件中的项目,直到文件结束?下面是我当前使用的代码。

#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;    
}

您应该添加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;
}
while (inputFile >> num)
{
    cout << num << endl;
}

将从文件中读取并打印int s,直到找到不是int的内容、文件结束、文件未打开或由于其他原因导致文件无法读取。

检查此处记录的各种状态标志将帮助您确定读取停止的原因。

std::istream中的更多内容。操作员手册上的一页解释了while (inputFile >> num)的工作原理。

如果在检测到错误后,您希望清理并继续,请确保已读取clear()ignore()

最新更新