首页 > 解决方案 > 使用 fstream 从 txt 文件中循环数字

问题描述

我对 C++ 有点陌生,所以我试图让事情变得简单。

我正在尝试应用一个简单地从 txt 文件中打印出每个数字的循环。并且有很多数字。

我一直在尝试使用 for 循环来做到这一点,但没有成功。这只是我的尝试之一:

int main() {
    fstream myFile;
    myFile.open("resources/numbers.txt");

    if (myFile) {
        cout << "This file is opened\n";
    }
    else
        return EXIT_FAILURE;

    for (i = 1; i<n; i++){
        myFile >> n;
        cout << n;
    }

    return 0;
}

我不想使用数组或 getLine。我只想从 txt 文件中取出每个数字并将其打印给用户,直到打印出每个数字。

是否有捷径可寻?

太感谢了!

标签: c++loopsfstream

解决方案


这是我在文件中打印数字的方式:

std::copy(std::istream_iterator<int>(myFile),
          std::istream_iterator<int>(),
          std::ostream_iterator<int>(std::cout, “\n”));

在您的示例中,您没有声明n,因此不清楚正确的类型是什么。代码假定int并且包含<algorithm>在内<iterator>


推荐阅读