我只想打印出一组整数,这些整数在文本文件的每一行上写下一个整数。 由于我使用Linux,我似乎无法使用像getch()和getline()
这样的方便函数请阅读下面的代码并告诉我需要更改以查看文本文件中的整数
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream fp;
fp.open("/home/Documents/C/Codeblocks/test1.txt", ios::in);
int c;
if(!fp)
{
cout<<"Cannot open file\n";
return 1;
}
while(fp)
{
fp.get(c);
cout << c;
}
//while ((c = getline(fp) != EOF))
// printf("%d\n", c);
}
答案 0 :(得分:2)
从文件中读取内容的非常好的方法是使用流。通过使用它们,您只需使用>>
运算符即可轻松读取用空格分隔的数字(例如换行符,空格等)。请阅读以下文章中的第一个答案,它完全适合您的问题:
Read Numeric Data from a Text File in C++
你可以做的是
int c;
while (fp >> c)
{
cout << c << " ";
}
此外,您不必在案例中拆分fstream fp;
变量的声明和定义。简单地说
fstream myfile("/home/Documents/C/Codeblocks/test1.txt", ios::in);
答案 1 :(得分:1)
将您的代码更改为
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int c;
ifstream fp("/home/Documents/C/Codeblocks/test1.txt");
if (!fp.is_open()) {
cerr << "Cannot open file" << endl;
return 1;
}
while (fp >> c)
cout << c << endl;
return 0;
}