如何找到多个事件并使用str替换?

时间:2013-02-14 04:22:22

标签: c strstr

我的家庭作业是读取文件,存储目标词(由#分隔)和替换词(也由#分隔)和原始字符串(它们没有#)。

此外,我无法假设最大长度或最大字数。

例如:

#uic#e# // uic = target string   e = replacement string
juice  // find substring "uic"  and replace it with 'e' resulting in "jee"
quicken  // qeken
quiche   // qehe
uicuicuick // eeek
#pp##   // pp = target string   nothing = replacement string
apples  //ales
copper  // coer
bopped  //boed
#t#tttttt#  // t = target string   tttttt = replacement string
tut tut // ttttttutttttt ttttttutttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttt // last string = 
                                                 //# of t's * 6

除了弄清楚如何使用替换字符串的目标字符串之外,我已经完成了所有工作。是否可以使用strstr执行此操作?我知道它指向第一次出现,但它是否可以指向字符串中的每一个出现?请告诉我使用伪代码。谢谢!

1 个答案:

答案 0 :(得分:0)

使用strstr()查找第一个匹配项的地址,将其命名为address,然后可以在address + strlen(target_string)上再次使用strstr()来查找字符串其余部分的出现次数。 / p>