gpt4 book ai didi

c++ - 读取缓冲区 C++

转载 作者:太空狗 更新时间:2023-10-29 19:50:32 25 4
gpt4 key购买 nike

我尝试在 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;
}

它给了我不正确的结果——正确的文本被几行方括号和其他奇怪的符号混合在一起。

最佳答案

首先,在整个文本之后你必须附加 '\0' 作为字符串的结尾

它应该看起来像 buffer[ index ] = 0; 因为你应该重写你附加的 \n 字符。

当然,还有其他的事情你应该检查,但它们不是你的主要问题

  • 输入的长度,因为您的缓冲区有限 - 最大长度为 1023 + 空字节
  • 标准输入结束 cin.eof()

关于c++ - 读取缓冲区 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com