字符处理函数

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

void test_3(void)
{
    char *aaa="this is a gril strchr test";
    char *ccc="a";
    char *bbb=NULL;
    
    //参数1是需要查找的字符串,参数2需要查找的字符
    //返回值:找到参数2的位置地址 
    bbb=strchr(aaa,'h');
    printf("正向找到字符h在字符串的地址:%s\n",bbb);
    
    bbb=strrchr(aaa,'i');
    printf("反向查找字符i在字符串的地址:%s\n",bbb); 
    
    //参数1是需要查找的字符串,参数2是查找字符串中指定的任意字符
    //返回值:根据参数2字符串中的任意字符,在参数1中找到其第一次出现的位置 
    bbb=strpbrk(aaa,ccc);
    printf("字符串的地址:%s\n",bbb);
    
    bbb=strstr(aaa,ccc); 
    printf("在aaa查找到ccc首次的地址:%s\n",bbb);
    
    int ret=0;
    //参数1是需要查找的字符串,参数2是查找字符串中指定的任意字符
    //返回值:根据参数2字符串中的任意字符,在参数1中统计不包含参数2任意字符的数量 
    ret=strcspn(aaa,ccc);
    printf("的地址:%d\n",ret);
    
    //参数1是需要查找的字符串,参数2是查找字符串中指定的任意字符
    //返回值:根据参数2字符串中的任意字符,在参数1中统计不包含参数2任意字符的下标 
    ret = strspn(aaa,bbb); 
    printf("aaa中不包含ccc中任意字符的下标:%d",ret);
    
    
    
}

void test_2(void)
{
    char aa[]="happy net year!";
    char bb[]="happy new year!";
    int ret=0;
    //1.字符串相等结果为0 
    //2.aa<bb 字符串aa第一次出现小于bb时,判定aa<bb 
    //3.aa>bb 字符串aa第一次出现小于bb时,判定aa>bb
    ret = strcmp(aa,bb);
    printf("aa与bb的比较结果:%d\n",ret);
    
    ret=strncmp(aa,bb,10);
    printf("aa与bb的比较前十个结果:%d\n",ret);
}

void test_1(void)    //拼接 
{
    char arr[100]="strcat test!";   //定义arr字符串并初始化 
    char ar[]="strcat_1 to strcat";    //定义ar字符串并初始化 
    puts(arr);
    puts(ar);
    //参数一目的,参数2是来源
    //功能:将ar的内容追加到ar中 
    strcat(arr,ar);
    printf("arr追加ar之后的内容:%s\n",arr);
        
    //二次追加,意思是在第一次的追加基础上,进行追加
    //需要关注目的的空间大小        
    strncat(arr,ar,8); 
    printf("arr追加ar之后的内容:%s\n",arr);
}

void test(void)
{
    char str[100]="copy string test!";    //开辟了100个字节空间,实际使用了17字符加一个'\0'=18个字符空间 
    char str_1[100];    //开辟了100个字符空间
    char str_2[10];
    
    char *p=NULL;
    //参数str_1是目的,str是来源。 
    p=strcpy(str_1,str); 
    
    puts(str);        //输出字符串 
    puts(str_1); 
    
    printf("log:%c\n",str_1[16]);//往str_1后追加内容
    int i;
    for(i=0;i<4;i++)
    {
        str_1[i+17]='a'+i;//第17个元素本来的'\0',改为字符'a',循环增加4个字符 
     } 
     str_1[i+17]='\0';//末尾加上'\0' 
     
     puts(str_1); 
     
     puts(p);
     
     strncpy(str_2,str,9);
     //printf("log:%c",str_2[8]);
     puts(str_2);
}


int main()
{
    //test();
    //test_1();
    //test_2();
    test_3(); 
    
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值