如何从ANSI C 89中的单个文件读取/写入

时间:2010-11-11 23:05:26

标签: c file-io

我正在尝试做的一个很好的例子可以在以下2个样本中找到:

从char文件中读取char,在新行的开头,为操作原始文件的行号(或其他内容)添加前缀。

通过char从char文件中读取,从上到下,或从下到上,从而操作原始文件。

我要问的唯一原因是我只是通过读取或写入流来完成此操作,而不是同一文件上的两个操作(并且从不回溯)

此外,我似乎有2种模式可以进行操作,插入和替换。任何指导都会有所帮助,文档会更好。 (备份它们的代码样本会非常受欢迎)

1 个答案:

答案 0 :(得分:2)

转换案例非常简单:

  1. 打开文件进行更新
  2. 阅读一个块
  3. 修改块
  4. 寻求开始阻止
  5. 写块
  6. 重复
  7. 然而,这仅适用,因为您将数据保留相同的长度。为每一行添加行号是完全不同的故事。要“就地”执行此操作,您基本上必须读取整个文件,在内存中修改它,然后将其全部写回。如果它不适合内存,则必须在复制到另一个文件时对其进行修改,然后将其复制回第一个文件或该命令中的某个文件。