允许用户在终端修改从文件中提取的字符串并保存回文件

Allow user to modify a string extracted from file in terminal and save back to file

我想创建一个命令行注释编辑器(在 linux 平台上用 c 编写)。

笔记是一个包含作者、日期和一些文本的结构

要求很简单:

程序可以读取和打印文件中的所有笔记(最终按 id、日期、作者过滤它们) 程序将允许用户修改或创建新笔记并将它们附加到文件顶部。

我不知道如何允许更新。 重点是我想通过 id 将它放在缓冲区中提取例如一个注释。 将缓冲区写入终端并让用户修改它。 当用户完成注释后,他可以确认,注释将再次保存到文件中。

我该怎么做?

我也接受将临时说明发送给像 nano 这样的编辑器, 但我想要的是程序只提取那个音符,而不是打开所有文件。

是否有任何库可以做到这一点或低级系统输入输出接口?

正如@Barmar 建议的那样,我使用外部编辑器编辑文件,并通过 system 系统调用启动它。我选择使用 tmpfile() 函数来创建一个临时文件,用于写入或更新笔记,然后将字节流复制到原始文件