相关文章推荐
被表白的楼房  ·  mysql json ...·  2 年前    · 
大力的松鼠  ·  使用 Transact-SQL ...·  2 年前    · 

最近在写代码的时候,因为工作需要从一个较长的字符串中提取出一小段字符串,然后将新字符串填到提取出来字符串的位置,就像这样子,将str1中的yyyyy提取出来然后将str2填到str1中变成str3。
str1 = “xxxxyyyyyzzzzzdddd”;
str2 = “bbbb”;
str3 = “xxxxbbbbzzzzzdddd”;

首先我们需要自己写两个函数,一个提取指定字符串函数,一个替换字符串函数,下面代码中substr是替换函数,strrep是提取函数。
下面直接给大家上代码

#include <stdio.h>
#include <string.h>
int substr(char dst[], char src[],int start, int len)
    int i;
    for(i=0;i<len;i++)
        dst[i]=src[start+i]; 
        dst[i]='\0';
        return i;
static char *strrep(char *str, char *src, char *dest)
    char bstr[strlen(str)];
    memset(bstr, 0, sizeof(bstr));
	for(int i = 0; i < strlen(str); i++){
    if(!strncmp(str+i, src, strlen(src))){
        strcat(bstr, dest);
        i += strlen(src) - 1;
    }else{
     strncat(bstr, str + i, 1);
strcpy(str, bstr);
return str;
int main()
    char dst[50];              
    char src[]="ws://173.36.158.27:8090/haha/ws/xixi";
    char str[]="//188.16.3.1";
	char *p,*q;
	int len1,len2,len;
	len = strlen(src);
	printf("%d\n",len);
	p = strchr(src, ':');
	len1 = strlen(p);
	printf("%d\n",len1);
	q = strrchr(src,':');
	len2 = strlen(q);
	printf("%d\n",len2);
    int m;
    m=substr(dst,src,len - len1,len1-len2);  
    printf("%s\n",dst);
    printf("%d\n",m);
    strrep(src, dst, str);
    printf("%s\n",src);
    return 0;
                    最近在写代码的时候,因为工作需要从一个较长的字符串中提取出一小段字符串,然后将新字符串填到提取出来字符串的位置,就像这样子,将str1中的yyyyy提取出来然后将str2填到str1中变成str3。str1 = “xxxxyyyyyzzzzzdddd”;str2 = “bbbb”;str3 = “xxxxbbbbzzzzzdddd”;首先我们需要自己写两个函数,一个提取指定字符串函数,一个替换字符串函数,下面代码中substr是替换函数,strrep是提取函数。下面直接给大家上代码#includ
				
C语言,并没有像java字符串操作的封装好的函数,在C语言,都需要自己根据C语言函数库来实现常用的字符串操作 一、字符串的分割,根据子串进行分割 #include #include #include using namespace std; //字符串的分割,根据子串分割字符串 //参数: //str被分割的字符串 //sub子串 //sub_before为strsub所在位
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(str); i++){ if(!strncmp(str+i, oldstr, strlen(old... *oldstr: 被替换字符串 *newstr: 用于替换的新字符串 *result: 参数输出执行替换后的结果(可用该函数返回值,也可用result参数接收替换后的结果) char *strrpc(char *str,char *oldstr,char *newstr,cha... 使用strstr逐个寻找子串,然后替换替换的时候分为几步: 1. 将sub后面的内容向前或向前移动(因为replace可能大于sub也可能小于sub,所以可能向前复制或者向后复制),腾出空间 2. 把replace拷贝到腾出的空间。 3. 循环指针p移...