精华内容
下载资源
问答
  • c语言实现字符串替换

    热门讨论 2010-05-24 22:40:34
    c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现...
  • C语言函数实现 字符串替换

    千次阅读 2021-05-19 08:44:19
    void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst){char ...// 指向输入字符串的游动指针.pi = pInput;// 指向输出字符串的游动指针.po = pOutput;// 计算被替换串和替换串的长度.nSrcLen = st...

    void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst)

    {

    char *pi, *po, *p;

    int nSrcLen, nDstLen, nLen;

    // 指向输入字符串的游动指针.

    pi = pInput;

    // 指向输出字符串的游动指针.

    po = pOutput;

    // 计算被替换串和替换串的长度.

    nSrcLen = strlen(pSrc);

    nDstLen = strlen(pDst);

    // 查找pi指向字符串中第一次出现替换串的位置,并返回指针(找不到则返回null).

    p = strstr(pi, pSrc);

    if(p) {

    // 找到.

    while(p) {

    // 计算被替换串前边字符串的长度.

    nLen = (int)(p - pi);

    // 复制到输出字符串.

    memcpy(po, pi, nLen);

    memcpy(po + nLen, pDst, nDstLen);

    // 跳过被替换串.

    pi = p + nSrcLen;

    // 调整指向输出串的指针位置.

    po = po + nLen + nDstLen;

    // 继续查找.

    p = strstr(pi, pSrc);

    }

    // 复制剩余字符串.

    strcpy(po, pi);

    }

    else

    {

    // 没有找到则原样复制.

    strcpy(po, pi);

    }

    }

    阅读(6195) | 评论(0) | 转发(0) |

    展开全文
  • 下面是用C语言实现字符串替换功能的代码:char *replace(char *source, char *sub, char *rep){char *result;/*pc1 是复制到结果result的扫描指针*//*pc2 是扫描 source 的辅助指针*//*pc3 寻找子串时,为...

    下面是用C语言实现字符串替换功能的代码:

    char  *replace(char  *source,  char  *sub,  char  *rep)

    {

    char  *result;

    /*pc1  是复制到结果result的扫描指针*/

    /*pc2  是扫描 source 的辅助指针*/

    /*pc3  寻找子串时,为检查变化中的source是否与子串相等,是指向sub的扫描指针 */

    /*找到匹配后,为了复制到结果串,是指向rep的扫描指针*/

    char  *pc1,  *pc2,  *pc3;

    int  isource,  isub,  irep;

    isub  = strlen(sub);   /*对比字符串的长度*/

    irep  = strlen(rep);   /*替换字符串的长度*/

    isource= strlen(source); /*源字符串的长度*/

    if(NULL == *sub)

    return strdup(source);

    /*申请结果串需要的空间*/

    result  = (char *)malloc(( (irep > isub) ? (float)strlen(source) / isub* irep+ 1:isource ) * sizeof(char));

    pc1  =  result; /*为pc1依次复制结果串的每个字节作准备*/

    while(*source  !=  NULL)

    {

    /*为检查source与sub是否相等作准备,为pc2,pc3 赋初值*/

    pc2  =  source;

    pc3  =  sub;

    /* 出循环的(任一)条件是:

    *  *pc2 不等于 *pc3 (与子串不相等)

    *  pc2  到源串结尾

    *  pc3  到源串结尾 (此时,检查了全部子串,source处与sub相等)

    *****************************************************/

    while(*pc2  ==  *pc3  &&  *pc3  !=  NULL  &&  *pc2  !=  NULL)

    pc2++,  pc3++; [Page]

    /* 如果找到了子串,进行以下处理工作*/

    if(NULL  ==  *pc3)

    {

    pc3  =  rep;

    /*将替代串追加到结果串*/

    while(*pc3  !=  NULL)

    *pc1++  =  *pc3++;

    pc2--;

    source  =  pc2;

    /*   检查 source与sub相等的循环结束后,

    * pc2 对应的位置是在 sub 中串结束符处。该是源串中下一个位置。

    * 将 source 指向其前面一个字符。

    ***************************************************/

    }

    else /*如果没找到子串,下面复制source所指的字节到结果串*/

    *pc1++ = *source;

    source++; /* 将source向后移一个字符*/

    }

    *pc1  =  NULL;

    return  result;

    }

    以下为测试代码:

    int main()

    {

    char s1[] ="abbccdfdcdbbdcd";

    char s2[]="dcd";

    char s3[]="12345";

    char *p = replace(s1,s2,s3);

    printf("source=%s

    ",s1);

    puts(s1);

    printf("sub = %s

    ",s2);

    puts(s2);

    printf("replace string = %s",p);

    return 0;

    }

    展开全文
  • C语言实现字符串替换

    万次阅读 多人点赞 2019-03-08 17:35:48
    关键点: 1.注意字符数组与字符串的区别;在字符数组最后一个字符后面...描述:第一行输入原字符串,第二行输入要替换字符串, 第三行输入新的字符串 输入示例: There is an orange, do you want to eat it?...

    关键点:
    1.注意字符数组与字符串的区别;在字符数组最后一个字符后面加上’\0’就构成了一个字符串。

    /*-------------------------------------------------
    功能:实现字符串的替换
    描述:第一行输入原字符串,第二行输入要替换字符串,
    第三行输入新的字符串
    输入示例:
    There is an orange, do you want to eat it?
    orange
    apple
    输出示例:
    There is an apple, do you want to eat it?
    Author: Zhang Kaizhou
    Date: 2019-8-9 11:11:32
    --------------------------------------------------*/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAXSIZE 300
    
    void 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语言替换字符串中的子串#include#includeint checkStr(char *s1, char *s2) //匹配字符串相不相等{for (int i = 0; i < strlen(s2); i++){if (s1[i] != s2[i]) return 0;}return 1;}void reStr(char *s1, char *...

    c语言替换字符串中的子串

    #include

    #include

    int checkStr(char *s1, char *s2) //匹配字符串相不相等

    {

    for (int i = 0; i < strlen(s2); i++)

    {

    if (s1[i] != s2[i]) return 0;

    }

    return 1;

    }

    void reStr(char *s1, char *s2, char *s3)//替换字符串

    {

    int s1len = strlen(s1),

    s2len = strlen(s2),

    s3len = strlen(s3);

    int n1 = s1len - s2len;

    int n2 = s2len - s3len;

    if (n2 > 0)

    {

    //后面的字符串全部向前移n2个位置

    for (int i = s2len; i < s1len; i++)

    {

    s1[i - n2] = s1[i];

    }

    s1[s1len - n2] = '\0';

    }

    else if (n2 < 0)//后面的字符串全部向后移n2个位置

    {

    for (int i = s1len; i >= s2len; i--)

    {

    s1[i - n2] = s1[i];

    }

    s1[s1len - n2 + 1] = '\0';

    }

    //然后在把要替换的字符串插进去

    for (int i = 0; i < s3len; i++)

    {

    s1[i] = s3[i];

    }

    }

    int replaceStr(char *s1, char *s2, char *s3)//替换字符串函数返回n表示替换了多少次

    {

    int n = 0;

    for (int i = 0; i < strlen(s1); i++)

    {

    if (s1[i] == s2[0] && checkStr(&s1[i], s2) == 1)

    {

    reStr(&s1[i], s2, s3);

    n++;

    }

    }

    return n;

    }

    int main()

    {

    // test!!!

    char s1[30] = "qwertyuerp";

    char s2[] = "er";

    char s3[] = "111111";

    printf("%d\n%s\n", replaceStr(s1, s2, s3), s1);

    return 0;

    }

    展开全文
  • 主要介绍了C语言中查找字符在字符串中出现的位置的方法,分别是strchr()函数和strrchr()函数的使用,需要的朋友可以参考下
  • C语言实现字符串中替换固定字符串 static void strreplece(char *str, const char *oldstr, const char *newstr) { char s_str[strlen(str)]; memset(s_str, 0, sizeof(s_str)); for(int i=0; i<strlen...
  • C语言中字符串替换

    2021-05-19 08:04:49
    输入参数:char* search 需要搜索的字符串char* replace 被替换字符串char* str 原始字符串返回 char* 用完后用free()释放[codesyntax lang=”c” lines=”normal”]/**Function:str_replace*Parameter:char* ...
  • 实现在windows系统下的字符串替换,通过搜索子字符串在文本文件的出现的位置,实现替换。
  • C语言字符串替换

    千次阅读 2021-05-11 10:52:16
    C语言字符串替换 我的思路: 遍历字符串,判断是否与修改的字符一至 #include<stdio.h> int main() { int i=0; char ch; char replace; char buf[100] ={0}; printf("请输入一个字符串:\n"); scanf...
  • 字符串替换——C语言

    2021-11-26 18:29:26
    本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换: 原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式: 输入在一行给出一个不...
  • (C语言) 字符串替换函数

    千次阅读 2020-02-26 15:25:59
    将str的oldstr替换成newstr,替换成的字符串存放于bstr Parameter str——原字符串 oldstr——待查找并替换的 newstr——用来替换的 Return str经过查找并替换后的字符串 char *strrpc(char *str,char *oldstr,...
  • C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。
  • C语言字符串替换

    千次阅读 2018-02-18 23:44:49
    字符串替换(20point(s))本题要求编写程序,将给定字符串的大写英文字母按以下对应规则替换:原字母对应字母AZBYCXDW……XCYBZA输入格式:输入在一行给出一个不超过80个字符、并以回车结束的字符串。...
  • 中文替换spa注意:短字符串替换成长字符串要注意内存越界.net函数代码/* 功 能:将str字符串的oldstr字符串替换为newstr字符串* 参 数:str:操做目标 oldstr:被替换者 newstr:替换者* 返回值:返回替换以后的...
  • 最近在写代码的时候,因为工作需要从一个较长的字符串中...首先我们需要自己写两个函数,一个提取指定字符串函数,一个替换字符串函数,下面代码substr是替换函数,strrep是提取函数。 下面直接给大家上代码 #includ
  • 主要介绍了C语言实现将字符串转换为数字的方法,涉及系统函数atoi()函数的使用技巧,需要的朋友可以参考下
  • C语言实现字符串替换插入方法

    千次阅读 2020-10-18 11:39:47
    面试题3:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成”%20"。例如输入“We are happy.”,则输出“We%20are%%20happy." 解法1尾部插入: void replaceBlankBack(char *string, int originalLength)...
  • 字符串中的字符替换成指定字符c

    千次阅读 2021-05-19 08:52:58
    #include#include#include//把source字符串里所有s1字符全部替换成字符s2void replace_char(char *result, char *source, char s1, char s2){int i = 0;char *q = NULL;q = source;for(i=0; i{if(q[i] == s1){q[i] =...
  • C语言字符串搜索以及替换

    千次阅读 2020-03-18 11:02:08
    字符串搜索以及替换 刚开始摸爬打滚的登上了求职的路上,经历了无数的面试以及笔试。至今还没有着落。经验已经积累了一些,今天在这里写详细分析一下我在笔试当中遇到的一个高频考题。没错,就是本章的题目,字符串...
  • C语言文件中字符串的查找与替换?#include#include#include#includeint Count=0;int findNum(char *str){int i=0,t1=0;FILE *p;char ch;if((p=fopen("image.gl","rb"))==NULL){printf("\n打开文件失败\n");exit(4);}...
  • 描述:编写一个字符串替换函数,如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。举个直观的例子吧,如:...
  • C语言字符串替换

    2019-11-07 18:30:32
    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> ...有字符串有以下特征("abcd11111abcd2222abcdqqqqq")...把字符串替换成("dcba11111dcba2222dcbaqqq...
  • 字符串替换是处理字符串时最常见的操作之一,也是学习字符串必须掌握的知识。本案例要求通过编程实现字符串“Good moring”到“Good evening”的转换。 案例分析 我们需要从字符串被替换的位置开始,将要替换的...
  • 字符串替换。在主串S查找子串T,将所有的T都替换成字符串R。 【思路指导】 (1)参考上题,借用strncmp来查找要被替换的子串T:对于不是子串T的部分,复制到新的串(然后,下标增1),而对于是子串的部分,...
  • 给定一个字符串,将其中所有的小写字母转换成大写字母。 输入 输入一行,包含一个字符串(长度不超过100,可能包含空格)。 输出 输出转换后的字符串。 样例输入 helloworld123Ha 样例输出 HELLOWORLD123HA #...
  • C语言中字符串赋值处理方式

    千次阅读 2021-05-23 09:10:33
    C语言中字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。因为c语言没有直接对字符串提供语法糖方面的支持。而且C标准库很多方法处理字符串是以空字符结尾为前提的,这个必须要记住。char *p,a='5';p=&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,953
精华内容 33,981
关键字:

c语言中字符串替换

c语言 订阅
友情链接: GPIO.zip