广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现字符串替换的示例代码怎么写
  • 216
分享到

C语言实现字符串替换的示例代码怎么写

2023-06-26 04:06:35 216人浏览 八月长安
摘要

本篇文章给大家分享的是有关C语言实现字符串替换的示例代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 替换,意思就是用另一个字符串str3来替换str1中所有

本篇文章给大家分享的是有关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’就构成了一个字符串。

#include <stdio.h>#include <stdlib.h>#include <string.h>#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语言实现字符串替换的示例代码怎么写,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网其他教程频道。

--结束END--

本文标题: C语言实现字符串替换的示例代码怎么写

本文链接: https://www.lsjlt.com/news/306691.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言实现字符串替换的示例代码怎么写
    本篇文章给大家分享的是有关C语言实现字符串替换的示例代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 替换,意思就是用另一个字符串str3来替换str1中所有...
    99+
    2023-06-26
  • C语言实现字符串替换的示例代码
     替换,意思就是用另一个字符串str3来替换str1中所有的str2。替换过程和查找的过程可以合并在一起,在上面循环查找的过程中,每找到一个str2,就把它替换为str3,...
    99+
    2022-11-12
  • C语言面试C++字符串替换空格示例
    字符串替换空格(多换一) 面试题: 面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服 首先我看到是%20替换空格,万一面试官说换其他的然后你很...
    99+
    2022-11-12
  • C语言如何实现字符串替换
    在C语言中可以通过循环遍历字符串的每个字符,然后判断是否需要替换,如果需要替换则使用新的字符替换原字符。下面是一个示例代码,实现了字...
    99+
    2023-08-24
    C语言
  • C语言实现手写字符串处理工具的示例代码
    目录头文件实现文件头文件 #ifndef STUDY_STR_UTIL_H #define STUDY_STR_UTIL_H #include "../structure/cha...
    99+
    2022-11-13
  • C语言字符串替换空格实例详解
    目录一、题目描述二、思路分析三、整体代码总结一、题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:s = "We a...
    99+
    2022-11-13
  • c++字符串替换指定字符怎么实现
    在C++中,可以使用std::string类来表示字符串,可以使用std::replace函数来替换字符串中的指定字符。下面是一个示...
    99+
    2023-10-19
    c++
  • C语言删除输入字符串中的空格示例代码
    从键盘读入一个字符串,去掉其中所有的空格得到一个新串后再输出(只能定义一个字符数组,不可以定义两个字符数组,可以根据编程需要定义字符指针以及其他变量)。 #include <s...
    99+
    2022-12-08
    C语言删除字符串中的空格 c语言字符之间空格 c语言去掉空格
  • C++实现将长整型数转换为字符串的示例代码
    C++实现将长整型数转换为字符串 #include <iostream> using namespace std; char *convertLongTo...
    99+
    2022-11-12
  • C语言实现字符串转浮点函数的示例
      字符串不仅可以转换为整数,也可以转换为浮点数,字符串转浮点数函数原型如下: float __cdecl __mingw_strtof (const ...
    99+
    2022-11-13
  • C++中怎么实现一个字符串替换函数
    这篇文章将为大家详细讲解有关C++中怎么实现一个字符串替换函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C++字符串替换函数代码如下:@brief 实现字符串替换 &...
    99+
    2023-06-17
  • C语言实现手写红黑树的示例代码
    目录前沿红黑树代码测试前沿 写C的红黑树前建议先看我博客这篇文章Java-红黑树 主要看原理 红黑树代码 #ifndef STUDY_RBTREE_H #define ...
    99+
    2022-11-13
  • C语言的字符串转换函数怎么用
    这篇“C语言的字符串转换函数怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言的字符串转换函数怎么用”文章吧。字符串...
    99+
    2023-06-29
  • C语言模拟实现字符串库函数的示例讲解
    目录字符串检验strlenstrcmpstrstr字符串操作strcpystrcat内存操作memcpymemmove字符串检验 strlen 函数原型 /// @brief 返回给...
    99+
    2023-01-13
    C语言字符串库函数 C语言字符串函数 C语言字符串
  • C语言实现栈的示例代码
    目录一、了解栈的结构特点二、具体实现补充 栈的用处一、了解栈的结构特点 栈是一种特殊的线性表,只允许从一端进出数据,称为后进先出,先进后出。 压栈:栈的插入操作叫做进栈/压...
    99+
    2022-11-13
  • C语言中字符串反转怎么实现
    这篇文章主要介绍C语言中字符串反转怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码实现#include <stdio.h>#include <string.h>#...
    99+
    2023-06-25
  • C语言实现常见进制转换的示例代码
    目录前言一、十进制数转换为二进制数、八进制数二、十进制转换为十六进制三、二进制数、八进制数转换为十进制数四、十六进制数转换为十进制数前言 生活中最常见的进制是十进制,而有一类编程题会...
    99+
    2023-05-14
    C语言实现进制转换 C语言进制转换 C语言 进制
  • Java实现字符串匹配的示例代码
    目录java实现字符串匹配暴力匹配KMP算法java实现字符串匹配 暴力匹配 private static int violence(String str1, String str...
    99+
    2022-11-13
  • C语言实现三子棋实例代码怎么写
    这期内容当中小编将会给大家带来有关C语言实现三子棋实例代码怎么写,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先,我将该程序的实现分为3个板块,main,game.h,和game.c;代码如下:#def...
    99+
    2023-06-22
  • Go语言实现枚举的示例代码怎么写
    本篇文章为大家展示了Go语言实现枚举的示例代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在编程领域里,枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作