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

    2019-11-07 18:30:32
    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> ...有字符串有以下特征("abcd11111abcd2222abcdqqqqq")...把字符串替换成("dcba11111dcba2222dcbaqqq...
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /*
    有字符串有以下特征("abcd11111abcd2222abcdqqqqq"),求写一个函数,输出以下结果
    把字符串替换成("dcba11111dcba2222dcbaqqqqq"),并把结果传出。
    要求:
    1.正确实现接口和功能
    2.编写测试用例
    int replaceSubStr(/in/char* src, /out/char** dst,
    	/in/char* sub, /in/char* newSub)
    src:原字符串
    dst:生成的或需要填充的字符串
    sub:需要查找的子字符串
    newSub:替换的新子字符串
    
    return 0;成功
    -1 失败
    */
    
    int replaceSubStr(/* in */char* src, /* out */char** dst,
    	/* in */char* sub, /* in */char* newSub)
    {
    	if (src == NULL || dst == NULL || sub == NULL || newSub == NULL)
    	{
    		return -1;
    	}
    	char tmp[520] = { 0 };
    	char* start = src;
    	char* p = NULL;
    	int len = 0;
    
    	do
    	{
    		//src="abcd11111abcd2222abcdqqqqq"
    		p = strstr(start, sub);
    		if (p != NULL)
    		{
    			len = p - start;
    			if (len > 0)
    			{
    				strncat(tmp, start, len);
    			}
    			strncat(tmp, newSub, strlen(newSub));
    
    			//重新设置起点位置
    			start = p + strlen(sub);
    		}
    		else
    		{
    			strcat(tmp, start);
    			break;
    		}
    	} while (*start != 0);
    
    	char* buf = (char*)malloc(strlen(tmp) + 1);
    	strcpy(buf, tmp);
    	*dst = buf;
    
    	return 0;
    }
    
    void freeBuf(char** buf)
    {
    	char* tmp = *buf;
    	if (tmp != NULL)
    	{
    		free(tmp);
    	}
    	*buf = NULL;
    }
    
    int main()
    {
    	char* p = "abcd11111abcd2222abcdqqqqq";
    	char* buf = NULL;
    	int ret = 0;
    
    	ret = replaceSubStr(p, &buf, "abcd", "dcba");
    	if (ret != 0) {
    		printf("replaceSubStr error:%d\n", ret);
    		return ret;
    	}
    	printf("p:  %s\n", p);
    	printf("dst:%s\n", buf);
    
    	freeBuf(&buf);
    
    	if (buf != NULL)
    	{
    		free(buf);
    		buf = NULL;
    	}
    
    	printf("\n");
    	system("pause");
    	return 0;
    }
    
    展开全文
  • c语言字符串替换

    千次阅读 2017-12-07 16:45:16
    #include void string_replace(char *string,int n,char ch1,char ch2); int main(){ char string[] = "HelloWorld"; int n = strlen(string); printf("%d\n",n); string_replace(string,n,'l','G');...pr
    #include <stdio.h>
    void string_replace(char *string,int n,char ch1,char ch2);

    int main(){

    char string[] = "HelloWorld";
    int n = strlen(string);
    printf("%d\n",n);
    string_replace(string,n,'l','G');
    printf("%s\n",string);

    return 0;
    }
    void string_replace(char *string,int n,char ch1,char ch2){
    for(int i=0;i<n;i++){
    if(*(string+i)==ch1){
    *(string+i) = ch2;
    }
    }
    }
    展开全文
  • C语言 字符串替换 replace 用的函数strlen 和mallo 实现c语言的replace int *replace(char *p, char *dest, char *target){ int d_=strlen(dest);int t_ = strlen(target);int p_ = strlen(p); int compare = t_ -...

    C语言 字符串替换 replace

    用的函数strlen 和mallo 实现c语言的replace

    int *replace(char *p, char *dest, char *target){
        int d_=strlen(dest);int t_ = strlen(target);int p_ = strlen(p);
        int compare = t_ - d_;
        int index[ p_ / d_ +1];
        int count=0;
        for (int i = d_-1; i <p_ ; ++i) {
            if (p[i] == dest[d_-1]){
                int tmp=d_;
                int ok = 1;
                for (int j = i; j >i-d_; --j) {
                    tmp--;
                    if (dest[tmp]!= p[j]) { ok=0; };
                }
                if (ok) {index[count] = i-d_+1 ;count++ ;}
            }
        }
        int currentLen=p_+compare*count;
        char *cc = (char *) malloc(( p_+compare*count +1) *sizeof(char));
        int s=0,c=0;
        for (int k = 0; k < currentLen; ) {
            if ( index[c] ==k){
                for (int i = 0; i < t_; ++i) {
                    cc[k] = target[i];
                }
                s+=d_;
                k+=t_;
                c++;
                continue;
            }
            cc[k] = p[s];
            s++;
            k++;
        }
        cc[currentLen] = '\0';
    //    printf("%s", cc);
        return 0;
    }
    

    喜欢的话请关注我,会不定时更新一些有用的东西

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

    千次阅读 2013-05-14 13:54:25
    #include #include #include void ReplaceStr(char *source, char *aa, char *bb) // aa-->bb,aa被bb替换。 {  int len=64,StringLen;  char temp[len];  char *FindPos = strstr(source, aa);
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    void ReplaceStr(char *source, char *aa, char *bb)  // aa-->bb,aa被bb替换。
    {
         int len=64,StringLen;
         char temp[len];
         char *FindPos = strstr(source, aa);
         if( (!FindPos) || (!aa) )
             return -1;   
         while( FindPos )
         {
             memset(temp, 0, sizeof(temp));
             StringLen = FindPos - source;
             strncpy(temp, source, StringLen);
             strcat(temp, bb);
             strcat(temp, FindPos + strlen(aa));
             strcpy(source, temp);   
            FindPos = strstr(source, aa);
         }
    }
    int main()
    {
     int i,j;
     char a[]="abc\"de",*pa=a;//源字符串
     char b[]="ab",*pb=b;     //替换前的 字符串
     char c[]="123",*pc=c;    //替换后的 字符串 
     printf("before: pa=%s \n",pa);
     ReplaceStr(pa,pb,pc);
     printf("after:  pa=%s \n",pa);
     // printf("pb=%s \n",pb);
     // printf("pc=%s \n",pc);
     return 0;
    }
    展开全文
  • C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。
  • C语言字符串替换空格

    2020-09-08 22:17:18
    请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” char* replaceSpace(char* s) { char *t=(char *)malloc(max*sizeof(char)); int i,j=...
  • 1、#运算符我们平时使用带参宏时,字符串中的宏参数是没有被替换的。例如:输出结果为:然而,我们期望输出的结果是:5 这该怎么做呢?其实,C语言允许在字符串中包含宏参数。在类函数宏(带参宏)中,#号作为一个...
  • C语言字符串替换函数

    千次阅读 2014-05-24 15:10:06
    // 替换字符串中特征字符串为指定字符串 int ReplaceStr(char *sSrc, char *sMatchStr, char *sReplaceStr) { int StringLen; char caNewString[MAX_PATH]; char *FindPos = strstr(sSrc, sMatchStr); if( (!...
  • 点击标题下「蓝色字体」可快速关注C语言编程入门数据类型 变量 数据类型,看到这个词,相信你一定会有许多疑问吧!首先什么是数据,也许你心中有些答案,但是呢,又不能完整地表达出来,那就往下看吧!首先,什么是...
  • 转自:http://www.pinlue.com/article/2018/09/1408/147132018138.html
  • void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst) {  char *pi, *po, *p;  int nSrcLen, nDstLen, ... // 指向输入字符串的游动指针.  pi = pInput;  // 指向输出字符串的游动指针.  po
  • //字符串替换函数,在字符串 string 中查找 source, 找到则替换为destination,找不到则返回NULL static char * replace_string (char * string, const char * source, const char * destination ) { char* sk = ...
  • 作者:Jung_zhang链接:https://www.cnblogs.com/jungzhang/p/5547348.html今天给大家分享几个C语言中的坑。一、带参数的宏展开顺序#include#definef(a,b)a##b#defineg(a)#a#defineh(a)g(a)intmain(void){printf("%s...
  • 对于0很多的整数,python允许用_对0进行分离10_000_000_000就等同于1000000000016进制用0x开头进行表示对于很大或很小的浮点数必须使用科学计数法表示,表示方法为 2.13e10表示2.13x10^10转义字符C语言一样,为\,...
  • [原]C语言字符串替换函数(strrpl)

    万次阅读 多人点赞 2014-04-23 17:55:12
    // 参数说明: // in, 源字符串 ...// src,要替换字符串 // dst,替换成什么字符串 char *strrpl(char *in, char *out, int outlen, const char *src, char *dst) { char *p = in; unsigned int
  • 楼主想要把如下的字符串 "C:\Users/Frank\Documents\Visual Studio 2012\Projects\bin\regenerate_original_picture.txt" 替换成 "C:/Users/Frank/Documents/Visual Studio 2012/Projects/bin/regenerate_...
  • void Substitute(char *pInput, char *... <br />// 指向输入字符串的游动指针. pi = pInput; // 指向输出字符串的游动指针. po = pOutput; // 计算被替换串和替换串的长度.
  • 直接贴代码: #include<stdio.h> #include<string.h> int main(void) { char *sstring = "abcd"; printf("string before : %s\n", sstring); char letter = '*'; char* tmp = sstring;...
  • 将如下函数添加到文件中,可直接调用。 StrReplace(char strRes[],char from[], char to...@to[]:需要替换成什么字符串。 成功返回:1 失败返回:0 #include &lt;malloc.h&gt; #include&lt;netinet...
  • c语言实现字符串替换

    热门讨论 2010-05-24 22:40:34
    c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现...
  • #include#include#include#define MAXLEN 100int ReplaceStr(char ****c, char *sSubStr, char *sReplaceStr){int StringLen;char caNewString[MAXLEN];char *FindPos = strstr(***c, sSubStr);...
  • 转自:http://www.pinlue.com/article/2020/05/1300/1210510260005.html
  • C语言实现字符串替换

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

    千次阅读 2016-07-05 23:18:03
    void str_run(char *primary_str, char *lookup_str, char* replace_str, char* ...{ //功能是在primary_str中查找lookup_str, 找到lookup_str则替换成replace_str, 否则不替换, 返回新的new_str int cn = 0, cL = 0;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,577
精华内容 630
关键字:

c语言字符串替换

c语言 订阅