我试图在C++中读取一个字符的缓冲区,直到'\ n',并使用do-while循环初始化带有这些字符的char数组。我知道我可以使用cin.getline(),但我想自己尝试一下。读取缓冲区C++
int main()
{
char buffer [1024];
int index = 0;
char temp;
do
{
cin.get(temp);
buffer [ index ] = temp;
index ++;
}
while (temp != '\n');
cout << buffer << endl;
return 0;
}
它给了我不正确的结果 - 正确的文字休闲几行方括号与其他奇怪的符号混合。
顺便说一句,'std :: getline()'比'std :: istream :: getline()'更简单,因为后者要求你提前选择缓冲区大小。 – jamesdlin 2010-01-10 20:02:25