【发布时间】:2023-04-17 20:40:01
【问题描述】:
我正在尝试一次读取 C++ 中的一个字符直到 '\n' 的缓冲区,并使用 do-while 循环使用这些字符初始化 char 数组。我知道我可以使用 cin.getline(),但我想自己尝试一下。
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()更易于使用,因为后者需要您提前选择缓冲区大小。
标签: c++