c - 将文本文件读入 C 中的行数组

标签 c arrays file text

我想使用 C 读取文本文件的内容,以便在完成所有操作后拥有一个字符串数组,其中第 n 个字符串表示文本文件的第 n 行。文件的行可以任意长。

完成此任务的优雅方式是什么?我知道一些巧妙的技巧可以将文本文件直接读入一个大小合适的缓冲区,但将其分解成行会使它变得更加棘手(至少据我所知)。

非常感谢!

最佳答案

将其分解成行意味着解析文本并将所有 EOL(EOL 我的意思是\n 和\r)字符替换为 0。 通过这种方式,您实际上可以重用缓冲区并将每行的开头存储到一个单独的 char * 数组中(全部通过仅执行 2 遍)。

通过这种方式,您可以对整个文件大小进行一次读取 + 2 次解析,这可能会提高性能。

关于c - 将文本文件读入 C 中的行数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800295/

相关文章:

c - 用 C 进行二分查找

c# - 找不到文件异常..但它在那里

c - 静态字符 *buf = NULL

c - 程序接收到信号 SIGSEGV,段错误(程序用完堆栈。)

javascript - 我是否需要添加属性才能获得所需的输出?

c - 尝试在 C 中 printf 一个字符串

c - 无法按顺序初始化数组,以避免代码冗长

javascript - createObjectURL 在 Chrome 中返回未定义

java - 为什么不推荐使用 java.io.File?

c - 使用宏在运行时堆栈中优雅地创建可变大小的“2D指针”列表