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

C 为什么strlen()替换字符串?,c,string,function,strlen,C,String,Function,Strlen,我从网上得到了pgm。但我对strlen()函数的代码感到困惑。是strlen()替换字符串吗?我是这方面的初学者。帮帮我 下面是简单的代码块: while(空!=fgets(缓冲区,4095,输入)) { char*Stop=NULL; char*Start=Buffer; 而(1) { 停止=strstr(启动、查找); if(NULL==停止) { fwrite(开始,1,strlen(开始),输出); 打破 } printf(“\n@found在第行”,第行); 写入(启动,1,停止-启

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

下面是简单的代码块:
while(空!=fgets(缓冲区,4095,输入))
{
char*Stop=NULL;
char*Start=Buffer;
而(1)
{
停止=strstr(启动、查找);
if(NULL==停止)
{
fwrite(开始,1,strlen(开始),输出);
打破
}
printf(“\n@found在第行”,第行);
写入(启动,1,停止-启动,输出);
fwrite(替换,1,strlen(替换),输出);
开始=停止+strlen(查找);
}
line++;
}
为什么
start=stop+strlen(find)
替换字符串

是strlen()替换字符串吗

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

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

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


我建议你选一本教科书,先学习基本概念,操作符,字符串,函数和指针。然后您将了解您的代码到底在做什么

你知道什么是指针吗?你已经知道什么是指针算法了吗?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++;
}