C语言中的字符串操作方法有哪些
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本文小编为大家详细介绍"C语言中的字符串操作方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言中的字符串操作方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2025年11月13日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个字符串,判断是否相等
#includeint 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;i str1[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;i str3_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安全错误
数据库的锁怎样保障安全
如何认识黑客与网络安全
网络安全领域出现的痛点问题
西安瑞京网络技术服务工作室
网络安全法解读易拉宝
深圳智能照明软件开发
数据库主键出现错误
网络安全培训机构需要什么资质
万方数据库选择查新格式
关系数据库 英语
中国上市药品数据库是什么
互联网科技之争
vss服务器端
hive如何删除数据库报错
网络技术方向职业
数据库默认命令语句例子
天龙服务器ip怎么看
云开发数据库使用视频
长岛直播软件开发哪家靠谱
吉林专业网络技术基础
云服务器怎么接打印机
安卓手机怎么克隆应用数据库
sql删除服务器
微信支付服务器设置密码
共建网络安全班会材料
jsp数据库写入数据库表
山西通用软件开发服务价格
硬件服务器开机怎么没声音
从数据库中生成word报告
快递物流管理软件开发
一个数据库多少部分组成