c - 在 C : Or how to dynamically allocate an array? 中将文件读入 char 数组

标签 c arrays buffer system-calls

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

read(File descriptor, Buffer array, Size of the buffer array);

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

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

最佳答案

您还可以stat() 文件以确定其大小,然后调用mmap()。在上面。您的文件将显示为“数组”,无需 malloc() 内存。

关于c - 在 C : Or how to dynamically allocate an array? 中将文件读入 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12357059/

相关文章:

audio - XNA麦克风的音频缓冲格式?

c - 链接 C/Rust "Hello world"时出错:未定义对 `std::io::stdio::_print 的引用

c - GHC 运行时如何处理文件 I/O?

c - c中数组的大小

java - Java/Scala 中可以禁用边界检查吗?

vim - 在 vim : "((1) of 3)" in status line 中编辑多个缓冲区

c - 我在使用命令行参数时遇到问题

我们可以在 C 的 main 函数中定义函数原型(prototype)吗?

java - 在每个循环中正确使用数组名称

c - 使用 uint8 数组发送大于 255 的整数