zoukankan      html  css  js  c++  java
  • C 字符串操作函数



    #include<stdio.h>
    #include<string.h>      //字符串操作头文件
    int main(void)
    {
        char s[7] = "hemaye";      //C语言的字符串,就是字符数组
        char s3[] = "gege";  
        printf("%s ", s);          //%s输出字符串
        for(int i = 0; i < 5; i++)
        {
            //4个长度的字符串实际长度是5,后面默认跟上‘’
            printf("s[%d]=%c, ASCII=%d ", i,s[i],s[i]);    //%c输出字符
        }
        printf("字符串长度%d ",strlen(s));   //返回字符串长度的函数
        printf("字符串连接%s ",strcat(s,s3));    //两个字符串连接函数,如果S1不够长会自动加长


        //字符串复制函数------------------------
        //s = "woshishui";  //报错,不能直接赋值
        //s = s3;           //报错
        // printf("字符串复制%s ",strcpy(s,s3));  //字符串赋值只能用这个,函数返回值就是复制后的第一个字符串
        // printf("%s ",s);   
        //printf("字符串复制%s ",strncpy(s,s3,2));   //把第二个字符串的前2个字符复制到第一个字符串对应的位置替换


        //字符串比较函数-------------------------
        printf("字符串比较:%d ",strcmp(s,s3));     //返回值:相等是0,大于是正数,小于是负数
        printf("字符串指定位置比较:%d ",strncmp(s,s3,2));    
        //stricmp   不区分大小写比较,strincmp    不区分大小写指定位置比较


        //测字符串长度函数strlen--------------------


        //字符串转换大小写----------------------------
        strupr(s);          //s = strupr(s); 报错,但是可以用指针
        printf("大写:%s ",s);
        strlwr(s);
        printf("小写:%s ",s);


        //字符查找strchr------------------------------
        printf("查找m字符:%s ",strchr(s,'m'));    //只能查找字符


        //字符串查找strstr------------------------------
        printf("查找ye字符串:%s ",strstr(s,"ye")); 


        //strspn匹配第二个字符或者字符串,直到第一次出现第二个字符串没有的字符,返回该下标--------------------
        printf("返回下标:%d ",strspn("woshihemama","wa")); 
        //trcspn跟strspn相反的,第二个字符串第一次出现的下标
        printf("返回下标:%d ",strcspn("woshihemama","hm"));   //第二个参数只看第一个字符


        //strrchr 查找指定字符出现的位置,返回该位置到结尾处的字符串
        printf("返回末尾:%s ",strrchr("woshihemama",'m'));  


        //strpbrk 查找指定字符串出现的位置,返回该位置到结尾处的字符串
        printf("返回末尾:%s ",strpbrk("womashihemama","am"));  


        //strtok分割字符串,截取第二个参数出现之前的字符串
        printf("分割:%s ",strtok(s,"m")); //符号数字字母都可以.函数运行后会直接修改第一个参数的值,所以第一个参数必须是变量




        //练习:把s2接到s1后,不用函数的做法---------------------
        char s1[38] = "www.3dmgame";
        char s2[] = ".com";
        for(int i = 0 ,j = 0; i < 38; i++)
        {
            if(s1[i] == '')
            {
                if(s2[j] != '')
                {
                    s1[i] = s2[j];
                    j++;
                }
            }
        }
        printf("%s ",s1);

        return 0;
    }
  • 相关阅读:
    oracle linux 7.3 dtrace 安装
    ubuntn 内核升级到LINUX v4.11.8:
    ubuntu上安装systemtap
    ubuntu systemtap-sdt-dev
    ubuntu 内核调试符号 网址
    apt-get和apt-cache命令实例展示
    软件包管理 rpm yum apt-get dpkg
    让VIM支持Python2 by update-alternatives
    在Ubuntu中通过update-alternatives切换软件版本
    Ubuntu 11.04安装GCC 4.6.1
  • 原文地址:https://www.cnblogs.com/hemage/p/13238035.html
Copyright © 2011-2022 走看看