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

时间:2016-10-17 22:31:05

标签: c++ file loops

在假设情景中,我不知道文件中有多少项。在文件结束之前,我将使用什么样的循环来读取文件中的项?目前正在使用的代码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;    
}

2 个答案:

答案 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;
}