我对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文件中提取每个数字,然后将其打印给用户,直到打印每个数字为止。
有一种简单的方法吗?
感谢一百万!
答案 0 :(得分:0)
#include <cstdlib> // EXIT_FAILURE
#include <iostream>
#include <fstream>
int main()
{
std::ifstream myFile{ "resources/numbers.txt" }; // use c-tor to open
// ^ ifstream ... we only want to read
if (!myFile.is_open()) {
std::cerr << "File couldn't be opened for reading :(\n\n";
return EXIT_FAILURE;
}
std::cout << "File is open for reading.\n\n";
int number;
while(myFile >> number) // as long as integers can be extracted from the stream,
std::cout << number << '\n'; // print them.
} // no need to return anything as main() returns 0 when not return statement
// is present.
答案 1 :(得分:0)
这是我在文件中打印数字的方式:
std::copy(std::istream_iterator<int>(myFile),
std::istream_iterator<int>(),
std::ostream_iterator<int>(std::cout, “\n”));
在您的示例中,您没有声明n
,因此尚不清楚正确的类型是什么。该代码假定int
并包含<algorithm>
和<iterator>
。