千家信息网

C语言中的字符串操作方法有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"C语言中的字符串操作方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言中的字符串操作方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2026年11月03日C语言中的字符串操作方法有哪些

本文小编为大家详细介绍"C语言中的字符串操作方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言中的字符串操作方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

字符串在C语言里使用非常多,因为很多数据处理都是文本,也就是字符串,特别是设备交互、web网页交互返回的几乎都是文本数据。

字符串本身属于字符数组、只不过和字符数组区别是,字符串结尾有'\0'。 字符串因为规定结尾有'\0',在计算长度、拷贝、查找、拼接操作都很方便。

1. 字符串的定义

char buff[]="我是一个字符串";char a[]="1234567890";char b[]="abc";char c[]={'a','b','c','\0'};

在普通的字符数组结尾加一个 \0 就变成了字符串。

2. 处理字符串里字母大小写

将字符串里所有大写字母全部换成小写字母。或者小写字母全部换成大写字母。可以通过形参进行区分。

#include #include #include void func(char *str,int flag);int main(){    char buff[100];    printf("从键盘上输入字符串:");    scanf("%s",buff);    printf("源字符串:%s\n",buff);    func(buff,0);    printf("大写转换小写:%s\n",buff);    func(buff,1);    printf("小写转大写:%s\n",buff);    return 0;}//函数功能: 大写小写转换//flag=0表示大写转换小写  =1表示小写转大写void func(char *str,int flag){    int data;    while(*str!='\0')    {        if(flag)        {            if(*str>='a'&& *str<='z') //小写            {                *str=*str-32;            }        }        else        {            if(*str>='A'&& *str<='Z') //小写            {                *str=*str+32;            }        }        str++;    }}

3. 从键盘上录入2个字符串,判断是否相等

#include int main(){    char str1[100];    char str2[100];    int i=0;    /*1. 录入数据*/    printf("输入字符串1:");    scanf("%s",str1);    printf("输入字符串2:");    scanf("%s",str2);    /*2. 比较字符串*/    while(str1[i]!='\0'||str2[i]!='\0')    {        if(str1[i]!=str2[i])break;        i++;    }    if(str1[i]=='\0'&&str2[i]=='\0')    {        printf("字符串相等.\n");    }    else    {        printf("字符串不相等.\n");    }    return 0;}

4. 从键盘上录入一个字符串,按照小到大的顺序排序

#include #include int main(){    char str1[100];    int len=0;    int i,j;    int tmp;    printf("输入要排序的字符串:");    scanf("%s",str1);    len=strlen(str1);    //开始排序    for(i=0;istr1[j+1])            {                tmp=str1[j];                str1[j]=str1[j+1];                str1[j+1]=tmp;            }        }    }    printf("排序之后的字符串:%s\n",str1);    return 0;}

5. 从键盘上输入一个字符串,转为整数输出

#include #include int main(){    //"123"    char str[100];    int data=0;    int i=0;    printf("从键盘上输入字符串:");    scanf("%s",str);    while(str[i]!='\0')    {        data*=10;//data=0 data=10 data=120        data+=str[i]-'0';//data=1 data=12 data=123        i++;    }    printf("data=%d\n",data);    return 0;}

6. 字符串删除

从键盘上录入一个字符串,删除字符串里指定的单词,输出结果。

比如:原字符串 "akjbcds123dfjvbf123fdvbfd123"

删除单词:"123"

输出的结果:"akjbcdsdfjvbffdvbfd"

#include #include int main(){    char str1[100];    char str2[100];    int i=0,j=0;    int str2_len=0;    /*1. 录入数据*/    printf("输入源字符串:");    scanf("%s",str1);    printf("输入要删除的字符串:");    scanf("%s",str2);    /*2. 计算要删除字符串的长度*/    str2_len=strlen(str2);                    /*3. 查找字符串*/    for(i=0;str1[i]!='\0';i++)    {        //比较字符串        for(j=0;str2[j]!='\0';j++)        {            if(str1[i+j]!=str2[j])break;        }        if(str2[j]=='\0')        {            //4. 删除字符串---后面向前面覆盖            for(j=i;str1[j]!='\0';j++)            {                str1[j]=str1[j+str2_len];            }            str1[j]='\0';            i--;        }    }    //5. 输出结果    printf("str1=%s\n",str1);    return 0;}

7. 字符串插入

从键盘上录入一个字符串,从指定位置插入一个字符串,再输出结果。

比如:原字符串"1234567890"

(1). 从指定位置插入新的单词。 比如 从第2个下标插入一个"ABC"字符串。

结果: "123ABC4567890"

#include #include int main(){    char str1[100];    char str2[100];    int addr=0;    int str1_len;    int str2_len;    int i;    /*1. 录入数据*/    printf("录入源字符串:");    scanf("%s",str1);    printf("录入要插入的字符串:");    scanf("%s",str2);    printf("输入要插入的下标位置:");    scanf("%d",&addr);    str1_len=strlen(str1); //3    str2_len=strlen(str2); //2        /*2. 完成插入*/    //完成数据移动    for(i=str1_len-1;i>=addr;i--)    {        str1[i+str2_len]=str1[i];    }    //数据替换    for(i=0;i

8. 字符串替换

从键盘上录入一个字符串,将指定单词替换成想要的单词。

比如:原字符串"123jfvfdj123dkfvbfdvdf"

想要将"123"替换成"888"或者"8888"或者"88"

#include #include int main(){    char str1[100];    char str2[100];    char str3[100];    int str1_len=0;    int str2_len=0;    int str3_len=0;    int i,j;    int cnt=0;    /*1.准备数据*/    printf("输入源字符串:");    scanf("%s",str1);    printf("输入查找的字符串:");    scanf("%s",str2);    printf("输入替换的字符串:");    scanf("%s",str3);    /*2. 计算长度*/    str1_len=strlen(str1);    str2_len=strlen(str2);    str3_len=strlen(str3);    /*3. 字符串替换*/    for(i=0;istr3_len)            {                cnt=str2_len-str3_len; //差值                //完成数据向前移动--覆盖                for(j=i+str2_len-cnt;j=i+str2_len;j--)                {                    str1[j+cnt]=str1[j];                }                str1[str1_len+cnt]='\0';            }            //替换            for(j=0;j

读到这里,这篇"C语言中的字符串操作方法有哪些"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

字符 字符串 输入 数据 小写 键盘 大写 输出 单词 字母 结果 长度 语言 排序 方法 位置 数组 文章 处理 下标 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 上海卓越科技互联网 互联网科技网 为想互联网科技怎么样 平安科技 互联网 天下捷融互联网科技 华脉科技工业互联网产品 广西拼得多互联网科技有限公司 山东吉时兔互联网科技有限公司 湖南洣水互联网科技有限公司扣款 中国的互联网科技企业的崛起 互联网科技中介 互联网大会黑科技排名 昊天互联网科技有限公司 中国互联网公司排名锤子科技 广州千川互联网科技有限公司 上海同邻互联网科技有限公司规模 互联网科技手机排行榜 北京瑞云互联网科技有限公司 广州全民伙伴互联网科技有限公司 互联网科技网 互联网中国科技 现代科技和互联网有关系吗 中国科技互联网公司收入 成都铂石互联网科技做什么的 996高科技互联网公司 晋城互联网科技 恒生互联网科技业指数调整周期 承德科技产业互联网平台 武汉亿视互联网科技有限公司
0