使用Linux中的Cpp从文本文件打印数据

时间:2015-07-07 14:34:17

标签: c++ linux

我只想打印出一组整数,这些整数在文本文件的每一行上写下一个整数。 由于我使用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);
}

2 个答案:

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