如何使用C将文件中的一个单词替换为另一个单词
例如,我有一个文件,其中包含:
my friend name is sajid我想用祖父取代“朋友”一词,以便将文件更改为:
my grandfather name is sajid (我正在Ubuntu上开发。)
更新:
我正在用C文件归档,我已经创建了一个.txt文件并将一些数据写入其中,但随着程序的进展,我不得不搜索一些文本,并将其替换为其他单词。我面临的问题是,假设在我的文件中我写了
"I bought apple from the market"如果我用菠萝代替苹果,像苹果有5个焦,菠萝有9个焦,它会写成
"I bought pineapple m the market"这也影响了苹果后面的文字。
我必须使用C来完成它,而不是命令行脚本。
发布于 2011-02-18 14:09:42
如何使用退出的Linux程序?
sed -i 's/friend/grandfather/' filename
这将取代现有档案中的朋友和祖父。如果你想保留原件的话,先复印一份!
编辑:
或者,将文件加载到STL字符串中,使用this等技术将“朋友”替换为“祖父”,并将新字符串保存到文件中。
发布于 2011-02-18 15:17:26
正如您已经意识到的,您将无法在原始文件中进行相应的更改。
简单的解决方案是从原始文件中读取每个字符串并将其写入标准输出,根据需要进行替换。伪码:
open original file
while not at end of original file
get next string from original file
if string == "friend"
write "grandfather" to standard output
else
write string to standard output
end while然后,您可以在执行输出时将输出重定向到另一个文件,类似于sed和awk的工作方式。
或者,您可以在代码中创建一个目标文件并直接写入它。如果需要用新文件替换原始文件,可以在remove()和rename()库函数中使用stdio。
https://stackoverflow.com/questions/5042196
复制相似问题