我有一个字符数组缓冲区,用于逐个存储用户输入的字符。下面是我的代码,虽然可以工作,但存在一些问题:
- 当我执行 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 is 1┬┬w! tagBuffer is 12┬w! tagBuffer is 123w! tagBuffer is 1234! tagBuffer is 12345! tagBuffer is 123456=! tagBuffer is 1234567! tagBuffer is 12345678!
tagBuffer是123456789!