我正在尝试读取一个长度为10^5的字符串。如果字符串的大小超过4096,我将得到不正确的字符串。 我使用以下代码:
string a;
cin>>a;
这个方法没起作用,然后我尝试使用以下代码逐个读取字符
unsigned char c;
vector<unsigned char> a;
while(count>0){
c = getchar();
a.push_back(c);
count--;
}
我已经对使用getchar
做了必要的转义,但仍存在4096字节的问题。有人能提供解决方法或指向正确的读取方式吗?
cin
不能处理“任何大小的字符串” - 但我必须承认我没有尝试过。 - Mats Peterssonstdin
是什么?通常是控制台,它通常甚至没有那么大的缓冲区,因此,你无法从中读取那么多内容。 - Kahler