C语言中的字符串操作方法有哪些
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"C语言中的字符串操作方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言中的字符串操作方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
迁安服务器电话
潍坊市网络安全知识答题
多益网络技术岗五险一金
青浦区机电软件开发产品介绍
中国网络安全的措施
虚拟服务器地址
正规服务器安全加固系统
木材湿度测试仪软件开发
数据库系统设计六个
计算机软件开发技术视频
魔兽世界不同的服务器可以组队吗
数据库考勤管理系统
深度极客网络安全博客
华为被国际网络安全
我的世界橙子服务器怎么玩
哪些服务器需要kvm管理
科斯顿网络技术
浪潮财务软件数据库如何进入
关于数据库安全问题的论文
tiktok首席安全服务器
魔术师约翰逊数据库技术
kms服务器激活有什么风险
符号拼图软件开发
刷脸支付部署服务器
数据库系统设计六个
卓奇网络安全手抄报
乌镇互联网大会的科技
我的世界服务器怎么设置禁用指令
软件开发踩过的坑
淘麦网络技术有限公司怎么样