首页 > 解决方案 > 使用读取分配缓冲区 (C)

问题描述

我想知道读取函数是否将缓冲区大小分配给传递给它的缓冲区?我需要知道这一点,以便查看完成后是否需要释放缓冲区。

下面是函数 read 的原型:

ssize_t read(int fildes, void *buf, size_t nbytes);

标签: cdynamic-memory-allocationallocation

解决方案


不,读取不进行任何分配。它将数据读取到您作为参数提供的缓冲区中,该缓冲区必须在调用 read 之前由您分配。您可以在堆或堆栈上使用缓冲区,也可以使用全局缓冲区;这是你的选择。


推荐阅读