如何更改一个文件中的某一字段的内容

tracyjk 2011-07-03 06:48:39
文件的内容如下

'' 'ATE0'
OK 'AT&D2'
OK 'AT+CGDCONT=1,"IP","cmnet"'
...
CONNECT


要实现的内容是把文件中cmnet改为xxx

目前能想到的办法是先把文件的内容读取到一个临时文件中,当读取到cmnet的时候把xxx替换cmnet写入临时文件中,继续读取剩余的文件的内容


请教下各位大牛,有什么更好的办法能实现这个目的么

...全文
195 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-07-04
  • 打赏
  • 举报
回复
……,临时文件写完关闭,再打开读出检查无误后、关闭,再删除源文件并判断成功删除,再将临时文件改名为和源文件名一样并判断改名成功。
小心驶得万年船!
就想叫yoko 2011-07-04
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 gz_qmc 的回复:]

文件小的话,直接读内存也可以啊
在内存替换完成后,直接写覆盖原来的文件

临时文件不过用外存而已,原理上差别不大
[/Quote]
AnYidan 2011-07-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bokutake 的回复:]

创建一个临时文件(可以用GetTempPath和GetTempFileName),写入数据,然后把源文件删除,MoveFile……
这样可以避免意外导致源文件被破坏。
[/Quote]

安全性大为提高
辰岡墨竹 2011-07-03
  • 打赏
  • 举报
回复
创建一个临时文件(可以用GetTempPath和GetTempFileName),写入数据,然后把源文件删除,MoveFile……
这样可以避免意外导致源文件被破坏。
nightkids_008 2011-07-03
  • 打赏
  • 举报
回复
我觉得不用临时文件吧,用临时变量吧,用来保存从cmnet的在文件中的位置,然后定位回去,直接改。
gz_qmc 2011-07-03
  • 打赏
  • 举报
回复
文件小的话,直接读内存也可以啊
在内存替换完成后,直接写覆盖原来的文件

临时文件不过用外存而已,原理上差别不大

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧