C语言实现字符串替换的示例代码怎么写
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇文章给大家分享的是有关C语言实现字符串替换的示例代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。替换,意思就是用另一个字符串
千家信息网最后更新 2025年01月22日C语言实现字符串替换的示例代码怎么写
本篇文章给大家分享的是有关C语言实现字符串替换的示例代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
替换,意思就是用另一个字符串str3来替换str1中所有的str2。替换过程和查找的过程可以合并在一起,在上面循环查找的过程中,每找到一个str2,就把它替换为str3,替换后移动指针p。替换的情况分好几种:一种是str2和str3的长度相同,一种是str3比str2长,一种是str3比str2短。第一种情况比较简单,直接使用strncpy函数就可以,后面两种情况,都需要把str1中的元素进行移动。比如,在上面的例子中,str2="the",假设str3 ="this",str3比str2长,为了有足够的空间,每找到一个the,从the后面的字符开始到结尾的‘\0’都要往后移动1个字节,也就是给this腾出4个字节的地方来(the的3个字节加移出来的1个字节)。假设str3 ="ok",str3比str2短,为了填补空缺,每找到一个the,从the后面的字符开始到结尾的‘\0’都要往前移动1个字节,也就是给ok留出两个字节的地方就够了。移动过后,使用strncpy函数把str3拷贝到str2所在的地方。下面的程序中,str_replace就是用来实现替换功能的。
关键点:
注意字符数组与字符串的区别;在字符数组最后一个字符后面加上’\0’就构成了一个字符串。
/*-------------------------------------------------功能:实现字符串的替换描述:第一行输入原字符串,第二行输入要替换字符串,第三行输入新的字符串输入示例:There is an orange, do you want to eat it?orangeapple输出示例:There is an apple, do you want to eat it?Author: Zhang KaizhouDate: 2019-8-9 11:11:32--------------------------------------------------*/#include#include #include #define MAXSIZE 300void str_replace(char * str1, char * str2, char * str3);int main(){ char str1[MAXSIZE]; char str2[MAXSIZE]; char str3[MAXSIZE]; gets(str1); gets(str2); gets(str3); str_replace(str1, str2, str3); puts(str1); return 0;}void str_replace(char * str1, char * str2, char * str3){ int i, j, k, done, count = 0, gap = 0; char temp[MAXSIZE]; for(i = 0; i < strlen(str1); i += gap){ if(str1[i] == str2[0]){ done = 0; for(j = i, k = 0; k < strlen(str2); j++, k++){ if(str1[j] != str2[k]){ done = 1; gap = k; break; } } if(done == 0){ // 已找到待替换字符串并替换 for(j = i + strlen(str2), k = 0; j < strlen(str1); j++, k++){ // 保存原字符串中剩余的字符 temp[k] = str1[j]; } temp[k] = '\0'; // 将字符数组变成字符串 for(j = i, k = 0; k < strlen(str3); j++, k++){ // 字符串替换 str1[j] = str3[k]; count++; } for(k = 0; k < strlen(temp); j++, k++){ // 剩余字符串回接 str1[j] = temp[k]; } str1[j] = '\0'; // 将字符数组变成字符串 gap = strlen(str2); } }else{ gap = 1; } } if(count == 0){ printf("Can't find the replaced string!\n"); } return;}
以上就是C语言实现字符串替换的示例代码怎么写,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
字符
字符串
字节
移动
示例
数组
输入
地方
就是
情况
过程
代码
语言
也就是
函数
功能
更多
知识
篇文章
面的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
残联系统网络安全手册
建筑施工安全事故数据库
鲲豪网络技术有限公司
开源数据库连接工具比较
江夏软件开发团队
从服务器下载资源管理器
阿里云服务器解析域名
网络安全办公区风险
网络安全法基本原则谁收集
网络安全体现在
服务器ssh安全访问数据库
网络技术中服务的解释
网络安全宣教区
成都章琰栋软件开发工作室
一般网站数据库怎么设计
中国移动软件开发笔试题目
嵌入式软件开发的语言
物联网设备数据同步数据库
软件开发咨询服务协议书
服务器为什么没有负载均衡
北京跃动网络技术有限公司
从网络安全控制层次
天龙八部网通区哪个服务器最多
APp软件开发录音机
诺特软件开发在哪
企业网络安全吗
云锁服务器怎么设置登录安全
上海携程软件开发研究生年薪
e-mobile 服务器
走起互联网科技有限公司