文章

16

粉丝

0

获赞

59

访问

2.9k

头像
删除字符串 题解:strstr() + memmove()
P1026 贵州大学机试题
发布于2025年3月13日 10:46
阅读数 234

#include<stdio.h>
#include<string.h>

void removeSubstr(char *str, const char *sub){
    int len = strlen(sub);
    char *pos;
    while((pos = strstr(str, sub))!=NULL){//strstr取出sub 
        memmove(pos, pos + len,strlen(pos + len) + 1);
        //使用 memmove() 将 "gzu" 后面的内容前移,覆盖掉 "gzu"。
        //void *memmove(void *dest, const void *src, size_t n);
        //dest目标地址,src源地址,n复制字节数 
    }
}


int main(){
    char s[1000];
    scanf("%999s",&s);//读取字符串,避免缓冲区溢出 
    removeSubstr(s,"gzu");
    printf("%s\n",s);
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发