Hit9 Blog Wiki Project Links Archives Resumé
Page: First UP Pre Next Back

C语言字符串替换

Fork me on GitHub

允许转载, 但转载请注明出处

Date:2012-09-06

C语言本身并没有提供字符串替换的接口.

于是就自己写了一个

function:

void *strrp(char *src,char *sub,char *rp,char *p)
{
    int sub_len=strlen(sub);
    char *po=NULL,*q=src;
    while((po=strstr(q,sub))!=NULL)
    {
        strncat(p,q,po-q);
        strcat(p,rp);
        q+=po-q+sub_len;
    }
    strcat(p,q);
}

required:

#include <string.h>

sample usage:

int main(int argc, const char *argv[])
{
    char *src="345343";
    char *sub="3";
    char *rp="p3";
    char s[100];
    memset(s,0,100);
    strrp(src,sub,rp,s);
    printf("%s\n",src);
    printf("%s\n",s);
    return 0;
}

Support:mkdwiki