LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1343|回复: 5

如果要修改文件某一行,最简单的方法是什么?

[复制链接]
发表于 2003-10-12 11:50:14 | 显示全部楼层 |阅读模式
比如某文件为:
a=10
b=20
c=30
如果要把b=20这一行改成b=5,最简单的方法是什么?
发表于 2003-10-12 14:00:15 | 显示全部楼层
sed吧
发表于 2003-10-12 22:03:31 | 显示全部楼层
在vi中,可以迅速定位到某一行,比如:2,即可定位到第2行;
然后移到到"2"上,使用打上"2s5",就把20换成5了。我不知你是不是指这个意思。
 楼主| 发表于 2003-10-12 22:26:43 | 显示全部楼层
我是说用C程序。
发表于 2003-10-13 10:15:34 | 显示全部楼层
用fgets是读出来,进行修改,在用fputs写回就可以了。
但是如果要删除一行好像只有新建一个文件,将这个文件相应的内容拷过去,除了要删除的一行。最后用新的文件覆盖原来的文件。
发表于 2004-8-15 17:25:28 | 显示全部楼层
先将要删除记录之后的所有记录读入内存,然后将文件指针定位于要删除记录的开始处,最后将已读到内存的那些记录重新写回到文件中。
最初由 twofish 发表
用fgets是读出来,进行修改,在用fputs写回就可以了。
但是如果要删除一行好像只有新建一个文件,将这个文件相应的内容拷过去,除了要删除的一行。最后用新的文件覆盖原来的文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表