我想阅读巨大的输入作为一个刺痛但它不能在我的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
感谢您的帮助。
答案 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()
。