• C 替换字符方法--1


    #include "stdafx.h" //linux 底下要去掉这一行
    #include <stdio.h>
    #include<stdlib.h>
    #include <string.h>
    #include <malloc.h>
    char matchStr1[]="111,aaa,ddd";
    static char *strcpyNew(char *strDes, char *strSrc)
    {
    if(NULL==strSrc) return strDes;
    strDes=(char *)malloc(strlen(strSrc)+1); //assign more 1 space to save''
    char *p=strDes;
    while(*strSrc!='')
    {
    *p++=*strSrc++;
    }
    *p='';
    return strDes;
    }
    static char * DelStr(char *sSrc, char *sMatchStr)
    {

    if(strcmp(sMatchStr,"")==0||(NULL==sSrc)||(sSrc==""))return sSrc;
    char *seps =",";
    char *token = strtok(sMatchStr, seps);
    while(token)
    {
    char *FindPos = strstr(sSrc, token);
    if(FindPos)
    while(FindPos)
    {
    int i;
    int newLen=strlen(sSrc);
    int leftLen=FindPos - sSrc;
    char *p=(char *)malloc(newLen);
    for(i=0;i<leftLen;i++)
    {
    p[i]=sSrc[i];
    }
    for(i=leftLen;i<newLen;i++)
    {
    p[i]=sSrc[i+strlen(token)];
    }
    sSrc= strcpyNew(sSrc, p);
    free(p);
    FindPos = strstr(sSrc, token);
    }
    token = strtok(NULL, seps);
    }
    return sSrc;
    }
    int main(int argc, char* argv[])
    {

    char * abc="333 333 aaa aaa ddd 444 aaa 666";
    printf("--原先-- %s,size=%d ",abc,strlen(abc));

    abc=DelStr(abc,matchStr1);
    printf("--现在-- %s,size=%d ",abc,strlen(abc));
    return 0;
    }

  • 相关阅读:
    面板评分太低会算两次
    没有使用大漩涡传送门没有杀死大法师瓦格斯
    win10创建本地用户
    延迟着色
    GPU 优化总结
    UE4 减少APK包的大小
    UE4 性能优化方法(工具篇)
    Unreal Engine 4的常见Tips
    虚幻引擎4设置Visual Studio
    模型导入的单位问题
  • 原文地址:https://www.cnblogs.com/aspirant/p/3576306.html
Copyright © 2020-2023  润新知