在C中读取文件到char数组:或者如何动态分配数组?

Sah*_*bov 1 c arrays buffer system-calls

使用Linux系统调用打开读取.在读取调用接受3个参数

read(File descriptor, Buffer array, Size of the buffer array);
Run Code Online (Sandbox Code Playgroud)

我的问题与论点#3有关.假设我有多个文本文件要读入我的缓冲区数组.但据我所知,C没有像VectorArrayList或任何其他动态大小的结构.

有没有一种简单的方法来计算文件的大小,所以我知道我应该为char数组分配多少空间?

sig*_*ice 7

您还可以使用stat()该文件来确定其大小,然后在其上调用mmap().您的文件将显示为"数组"而无需malloc()内存.