使用 Linux 系统调用打开 和读取。 read 调用接受 3 个参数
read(File descriptor, Buffer array, Size of the buffer array);
我的问题与参数 #3 有关。假设我有多个要读入缓冲区数组的文本文件。但据我所知,C 没有类似 Vector 或 ArrayList 或任何其他具有动态大小的结构。
有没有一种简单的方法来计算文件的大小,以便我知道应该为我的 char 数组分配多少空间?
最佳答案
您还可以stat()
文件以确定其大小,然后调用mmap()。在上面。您的文件将显示为“数组”,无需 malloc()
内存。
关于c - 在 C : Or how to dynamically allocate an array? 中将文件读入 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12357059/