如何在C中替换文本文件中的单词?

时间:2014-10-30 02:07:42

标签: c

我认为我应该编写代码的方式就像这样,如果我想用'GONE'替换一个单词

问题是:如何替换作为参数给出的单词并将其替换为通过stdin传递的txt文件中的单词GONE

// pseduocode

open the file
while not EOF
  get a word from the file
  if word == 'GONE' // or argv[1]
     word = 'GONE'
end

如果我把它们放进去,我也会对多个论点感到困惑,假设。

./a.out hello bob bye < hello.txt

哪个会测试这个文件

Hello world and bob
I hope it's going good
but i gotta go so bye

和输出

GONE world and GONE
I hope its going good
but i gotta go so GONE

我对如何在C中解决这个问题感到困惑。我认为我的pseduocode是正确的。

感谢。

1 个答案:

答案 0 :(得分:-1)

我可以给你一些想法,但事情必须是你自己。将文本存储在separte字符串中:

 char sentence[] = "Hello world and bob I hope it's going \
                     good but i gotta go so bye";

 const char *to_replace = "Hello";

 const char *replacement = "GONE

 char *pos = strstr(sentence, to_replace);


while (pos != NULL) {
   //Replace the word here as you now positions

   if ( strstr(sentence, to_replace) ){
       pos = strstr(sentence, to_replace);
   }else{
      pos = 0;
   }
}

现在打印缓冲区替换缓冲区