我试图创建一个程序,用于替换文本文件中的1行,如果该行与特定模式匹配,则使用新行。我一直在寻找一些简单的功能,但它们都没有做我想要的(http://www.tutorialspoint.com/cprogramming/c_file_io.htm)。我想我可以创建一个新的文本文件,并将需要更改的行写入该文件并复制那些需要保持相同的行,但我可以想象有一个文件会更容易。
所以这是我的问题,是否可以在现有文件中用另一行替换一行?
答案 0 :(得分:4)
不,拥有单个文件并不容易,但基本上不可能。
磁盘上的文本文件不支持在中间插入数据或删除数据。因此,您只能使用精确相同长度的新行替换该行,这通常不是非常有用。
您应该将其作为过滤器,即读取输入,写入新输出,并在检测到您处于正确位置时写入新行而不是旧行。