C语言实现字符串替换的示例代码怎么写
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇文章给大家分享的是有关C语言实现字符串替换的示例代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。替换,意思就是用另一个字符串
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
pi实时数据库价格
河南网络安全现状
服务器机柜注册
海底捞网络技术
2017全球软件开发大会
仙剑一是用什么软件开发的
网络安全产业三年行动
华为安全模式紧急数据库
信息网络安全是通过
软件开发费计入哪个账户
世界互联网的黑科技
软件开发中碰到的技术问题
银行的软件开发岗位有什么用
笔记本电脑当服务器
软件开发专业介绍
如何增加网络安全等级
网络安全出事故的报道
网络安全防护好学吗
虹口区系统软件开发培训
java 对象数据库中
甘特图数据库设计
杭州网络安全公司如何
树莓派变身服务器
软件开发公司的行政专员好吗
世界互联网的黑科技
数据库中连接运算例题分析
双十一服务器峰值数据处理
江阴定制软件开发怎么样
旅游软件开发的意义
服务器安装在房间有辐射吗