C语言--字符串基本操作

来源:互联网 发布:360浏览器注入js 编辑:程序博客网 时间:2024/06/05 19:04

字符串基本操作

#include <stdio.h>//指针操作 void StatString1(char *pInputString, int *pDigitNum){    *pDigitNum = 0;    printf("%s\n",pInputString);    while(*pInputString!='\0'){ // for(;*pInputString!='\0';pInputString++){...}        if(*pInputString>='0' && *pInputString<='9'){            (*pDigitNum)++;        }        pInputString++;    }} //数组下标操作void StatString2(char *pInputString, int *pDigitNum){    *pDigitNum = 0;    int i = 0;    for(i=0;pInputString[i]!='\0';i++){         if(pInputString[i]>='0' && pInputString[i]<='9'){            (*pDigitNum)++;        }    }} int main(){    char *pInputString = "asdfg14fdf3f";     int pDigitNum;    StatString1(pInputString,&pDigitNum); // 传入字符串指针,int变量地址     printf("%d\n",pDigitNum);       return 0;}

memcpy内存拷贝

#include <stdio.h>/*void *memcpy(void*dest, const void *src, size_t n);由src为起始地址的连续n个字节数据复制到以dest为起始地址的空间内*///字符串拷贝 void strcopy(char **target, char *source){    if(source == NULL) return ; // 处理空指针     unsigned int len = strlen(source);    *target = (char*)malloc(len+1);    memcpy(*target,source,len); // 注:传的是指针     (*target)[len]='\0';} // 字符串连接,将字符串source链接到target后面,输出为x void strcombine(char **x, char *target, char *source){    if(source == NULL || target == NULL) return ;      unsigned int len =strlen(target)+strlen(source);    *x = (char*)malloc(len+1);    memcpy(*x,target,strlen(target));    memcpy(*x+strlen(target),source,strlen(source));    (*x)[len] = '\0';   }// 字符串截取,截取字符串x从index下标开始长度为length的字符串,保存在t中 void strcatch(char **t, char *x, unsigned int index, unsigned int length){    if(length==0 || x==NULL || strlen(x)<(index+length)) return;    *t = (char*)malloc(length+1);    memcpy(*t,x+index,length);    (*t)[length] = '\0';}int main(){    char* target = "efsj";    char* source = "abcd";     char* x="12";    char* t;        int index = 2;    int length = 3;    strcopy(&target,source);        printf("%s\n",target);      strcombine(&x,target,source);    printf("%s\n",x);    strcatch(&t,x,index,length);    printf("%s\n",t);    return 0;}
原创粉丝点击