【发布时间】:2016-04-25 13:21:04
【问题描述】:
我想使用 C 语言中的 read() 命令将文本文件中的数据以 20 个字符的块形式读取到缓冲区中,直到文件结束。
while (n != 0) {
n = read(filedescriptor, buffer, 20);
}
这每次都会覆盖缓冲区。是否可以使用read() 命令追加到缓冲区?
【问题讨论】:
-
好吧,您实际上可以使用返回值来查看已经读取了多少个字符,然后将该值添加到
buffer以使函数附加到之前读取的现有数据,同时特别注意不要溢出缓冲区,即读取超过 20 个字符。 -
如果你的缓冲区只有 20 个字符长,在后面追加数据会挤压其他数据