如何在C ++中使用getline()函数从文件中打印字符串

时间:2016-07-14 19:39:21

标签: c++

我想阅读巨大的输入作为一个刺痛但它不能在我的linux盒子上工作。当我试图插入字符串(巨大的)时,一旦我达到2998字符,就阻止我添加任何字符。

std::string s;
std::cin.clear();
cout<< "Enter string"<<endl;;
getline(cin, s);

所以我决定在文件中添加大字符串并从那里读取。现在我有一个只包含一行的文件,如何打印字符串(getline()不起作用,因为它在我的linux系统中读取的次数不超过2998字节)。

例如,我有以下输入(文件的一部分),

cat\n\ndog\ts\n\n\nmarket\g\he\n

输出应为:

cat
dog\ts
market\g\he

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你能用ifstream做类似的事情吗?

BUFFER_MAX = 3000; //Whatever you want to be
char[BUFFER_MAX] buffer;
std::cin.getline(buffer,BUFFER_MAX-1);

这仅仅是关于本文档:std::istream::getline()