当前位置: 技术问答>linux和unix
怎么处理文件
来源: 互联网 发布时间:2016-12-28
本文导语: 我想编写一个软件将文件中的给定字母、词组、句子替换成目的字母、词组、句子。但是中途就遇到一个纠结的问题!!! 比如将long 替换成 unsigned long那整体上text的长度发生变化那我就的把long后面的依次往后面...
我想编写一个软件将文件中的给定字母、词组、句子替换成目的字母、词组、句子。但是中途就遇到一个纠结的问题!!!
比如将long 替换成 unsigned long那整体上text的长度发生变化那我就的把long后面的依次往后面移动,但是有50处该动那我就得做 50次大规模移动,而且文件的大小还在发生变化,想了一段时间没结果,我就纠结了!!
所以请大家帮帮忙,贡献贡献,呵呵!!!
比如将long 替换成 unsigned long那整体上text的长度发生变化那我就的把long后面的依次往后面移动,但是有50处该动那我就得做 50次大规模移动,而且文件的大小还在发生变化,想了一段时间没结果,我就纠结了!!
所以请大家帮帮忙,贡献贡献,呵呵!!!
|
先读到内存里,处理完再写回去。
|
正则表达式尝试过了吗?
|
不需要每次替换成unsigned long就依次往前移的,
你可以新建立一个内存空间,依次读取数据, 当遇到long 时就写unsgined long进去, 而不用去移源数据后面的内容.
你可以新建立一个内存空间,依次读取数据, 当遇到long 时就写unsgined long进去, 而不用去移源数据后面的内容.
|
楼主可以读一行处理一行,一行处理完写到一个临时文件里。全部处理完再替换原来的文件。