如何在c?中覆盖文本文件中的特定行?我在需要写入文件的多个变量中有值。
答案 0 :(得分:6)
仅当新行与旧行具有相同大小时才有效:
a+
fseek()
到文件的开头ftell()
注意行的开头fseek()
再次使用ftell()
的结果并使用fwrite()
覆盖它。如果行的长度发生变化,则必须复制该文件。
答案 1 :(得分:0)
由于文件(从C标准库的角度来看)不是面向行的,而只是一系列字符(或二进制模式下的字节),所以你不能期望在行级编辑它们容易。
正如Aaron所描述的,如果您的替换字符完全相同,您当然可以替换组成该字符的字符。
您也可以(可能)通过填充在末尾(在行终止符之前)添加空格来插入更短的替换。那当然有点粗糙。