Chinaunix
标题:
请教字符回读问题
[打印本页]
作者:
hanliu2008
时间:
2009-09-14 11:12
标题:
请教字符回读问题
各位大侠,请教问题如下:
如果一个文本文件有很多内容,全是英文字符,我想把其中所有的字符 i 换成A,其他字符不变,而且是在原文本中更换,不要新建一个文件,有什么好的办法吗?
谢谢
作者:
hellioncu
时间:
2009-09-14 11:31
用二进制形式读写,或者用mmap
作者:
langue
时间:
2009-09-14 14:08
1、建了再删,有何不可?
cat original | sed -e 's/i/A/g' > destination
rm -f original
2、直接打开那个文件,找到 'i',退后一字节,在 'i' 的位置写 'A' 不就是了?
直接修改文件没那么麻烦。
作者:
hanliu2008
时间:
2009-09-14 14:20
在ANSI C下有什么好的办法吗? 二进制读写怎么操作啊?我弄了半天还是没搞定
作者:
hanliu2008
时间:
2009-09-15 09:59
ok谢谢,法王版主
作者:
bobozhang
时间:
2009-09-15 10:05
linux/unix上面没有所谓的二进制模式
打开该文件,read一大块数据比如4k到一个buffer,查找'i', 替换成'A', lseek到刚才读取的位置,把buffer写回去。循环
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2