我编写了以下代码,但我不明白为什么 read 没有按照我期望的方式存储字符:
char temp;
char buf[256];
while(something)
read (in,&temp, 1);
buf[strlen(buf)] = temp;
}
如果我在阅读时打印temp
和buf
数组的最后一个位置,有时它们不匹配。例如,字符可能是 'd' 但数组包含%
,或者字符是0
并且数组包含.
我正在阅读少于 256 个字符,但这没关系,因为我在阅读时正在打印。
我错过了一些明显的东西吗?