我有一个 char 数组缓冲区,用于存储用户将一一输入的字符。我下面的代码有效,但有一些我无法弄清楚的小故障:
- 当我执行 printf 以查看 Buffer 中的内容时,它确实填满了,但最后我得到了垃圾字符
- 尽管被声明为 char Buffer[8],但它不会在 8 个字符处停止;
有人可以向我解释发生了什么,也许我该如何解决这个问题?谢谢。
char Buffer[8]; //holds the byte stream
int i=0;
if (/* user input event has occurred */)
{
Buffer[i] = charInput;
i++;
// Display a response to input
printf("Buffer is %s!\n", Buffer);
}
输出:
tagBuffer 是 1┬┬w! tagBuffer 是 12┬w! tagBuffer 是 123w! tagBuffer 是 1234! tagBuffer 是 12345! tagBuffer 是 123456=! tagBuffer 是 1234567! tagBuffer 是 12345678!
tagBuffer 是 123456789!