为什么strlen()替换一个字符串?

时间:2015-03-27 05:56:44

标签: c string function strlen

我从网上得到了一个pgm。但我对有关strlen()函数的代码感到困惑。是strlen()替换字符串吗?我是这个编码的初学者。帮助我。

下面的简单代码块:

while(NULL != fgets(Buffer, 4095, Input))
{
    char *Stop = NULL;
    char *Start = Buffer;

    while(1)
    {

        Stop = strstr(Start, Find);
        if(NULL == Stop)
        {
            fwrite(Start, 1, strlen(Start), Output);
            break;
        }
        printf("\n@found at Line  <%d>",line);
        fwrite(Start, 1, Stop - Start, Output);
        fwrite(Replace, 1, strlen(Replace), Output);
        Start = Stop + strlen(Find);
    }
    line++;
}

为什么start = stop + strlen(find)替换字符串?

1 个答案:

答案 0 :(得分:3)

  

是strlen()替换字符串吗?

不,计算传递给它的字符串的长度。

  

为什么start = stop + strlen(find)替换字符串?

=被称为赋值运算符,它将右操作数的值赋给左操作数。 a = b;表示b的值已分配给a。希望它有意义。

我建议选择一本教科书,首先通过基本概念运算符,字符串,函数和指针。然后,您将了解您的代码究竟在做什么。