c语言求助:将字符串s中的子字符串s1全部替换为子字符串s2.用指针实现 matlab怎么用新的字符串替换文件中的字符串,并写在原字符...

c\u8bed\u8a00 \u5c06\u5b57\u7b26\u4e32s\u4e2d\u7684\u5b50\u5b57\u7b26\u4e32s1\u5168\u90e8\u66ff\u6362\u4e3a\u5b50\u5b57\u7b26\u4e32s2\uff1f

//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"#include "string.h"int main(void){ char s[300],s1[50],s2[60],tmp[300]; int ls1,ls2,i,j; printf("Input string s,s1,s2...\n"); scanf("%s%s%s",s,s1,s2); ls1=strlen(s1); ls2=strlen(s2); for(j=i=0;s[i];i++){ if(strncmp(s+i,s1,ls1)==0){ strcpy(tmp+j,s2); j+=ls2; i+=ls1-1; } else tmp[j++]=s[i]; } tmp[j]='\0'; strcpy(s,tmp); printf("%s\n",s); return 0;}

\u7528\u547d\u4ee4 STRREP(S1,S2,S3) \uff0c\u5728\u5b57\u7b26\u4e32S1\u91cc\u6240\u6709\u7684S2\u88abS3\u4ee3\u66ff\u3002
\u6bd4\u5982\u4ee5\u4e0b\u4f8b\u5b50\uff1a
s1='This is a good boy';
strrep(s1,'good','great')returns 'This is a great boy'\uff1b
strrep(s1,'bad','great') returns 'This is a good boy'\uff1b
strrep(s1,'','great') returns 'This is a good boy'\uff1b

#include<stdio.h>
#include<string.h>

#define MAXLENGTH 100

void replace(char *s, char *s1, char *s2)
{
int len1 = strlen(s), len2=strlen(s1), len3 = strlen(s2);
char buf[MAXLENGTH]; //保存替换后的字符串
int i, j, k, l;
for(i=0, k=0; i<len1-len2+1;) {

for(j=0; j<len2; j++) {
if(*(s+i+j) != *(s1+j)) break;
}
if(j == len2) {
l = 0;
while(l<len3) *(buf+k++) = *(s2+l++);
i += len2;
continue;
} else {
*(buf+k++) = *(s+i++);
}
}
while(i<len1) *(buf+k++) = *(s+i++);
*(buf+k) = '\0';
strcpy(s, buf); //将替换后的串复制给s.
}

int main()
{
char str[MAXLENGTH] = {NULL};
char str1[MAXLENGTH] = {NULL};
char str2[MAXLENGTH] = {NULL};

printf("请输入字符串s: \n");
gets(str);
fflush(stdin);
printf("请输入字符串s1: \n");
gets(str1);
fflush(stdin);
printf("请输入字符串s2: \n");
gets(str2);
replace(str, str1, str2);

printf("替换后的字符串: %s\n", str);

return 0;
}

  • c璇█姹傚姪:灏嗗瓧绗︿覆s涓殑瀛瀛楃涓瞫1鍏ㄩ儴鏇挎崲涓瀛愬瓧绗涓瞫2.鐢ㄦ寚閽...
    绛旓細define MAXLENGTH 100 void replace(char *s, char *s1, char *s2){ int len1 = strlen(s), len2=strlen(s1), len3 = strlen(s2);char buf[MAXLENGTH]; //淇濆瓨鏇挎崲鍚庣殑瀛楃涓 int i, j, k, l;for(i=0, k=0; i<len1-len2+1;) { for(j=0; j<len2; j++) { if(*(s...
  • c璇█灏嗗瓧绗︿覆s涓殑瀛瀛楃涓瞫1鍏ㄩ儴鏇挎崲涓瀛愬瓧绗涓瞫2
    绛旓細char s[N],s1[N1],s2[N2];gets(s);gets(s1);gets(s2);replace(s,s1,s2);puts(s);return 0;}
  • 鐢–璇█缂栫▼,灏嗗瓧绗︿覆s涓殑鎵鏈夊瓧绗︽寜ASCII鍊间粠灏忓埌澶ч噸鏂版帓搴忓悗,灏嗘帓...
    绛旓細浠g爜濡備笅锛歩nclude <stdio.h>#include <string.h>int main(){char str[] = "Hello World!", ch;int i, j, len;len = strlen(str);for (i = 0; i < len - 1; i++) {for (j = i + 1; j < len; j++) {if (str[i] > str[j]) {ch = str[i];str[i] = str[j...
  • c璇█缂栧啓濡備笅鍑芥暟,灏嗗瓧绗︿覆s涓殑鏁板瓧瀛楃鍏ㄩ儴鍒犻櫎鎸戜唬鐮侀敊璇
    绛旓細char s[] = "abc1234567ffdf0z";printf("瀛楃涓锛%s\n",s);del_digits(s);printf("鍒犻櫎鏁板瓧瀛楃鍚庣殑瀛楃涓叉槸%s\n",s);system("pause");return 0;}
  • C璇█涓鎬庢牱鍏灏嗗瓧绗︿覆s涓殑瀛楃鎸夐嗗簭瀛樻斁鍒皌涓蹭腑,鐒跺悗鎶妔涓殑瀛楃鎸...
    绛旓細include "string.h"char s[50]={'\0'};char t[100]={'\0'};int i,j=0,len;strcpy(s,"My English is very bad");len=strlen(s);for(i=len-1;i>=0;i--){ t[j++]=s[i];}for(i=0;i<len;i++) //姝e簭杩炴帴, 鍙敤strcat( ){ t[j++]=s[i];}t[j]='\0';...
  • C璇█涓鎬庢牱鍏灏嗗瓧绗︿覆s涓殑瀛楃鎸夐嗗簭瀛樻斁鍒皌涓蹭腑,鐒跺悗鎶妔涓殑瀛楃鎸...
    绛旓細include "stdio.h"int main(int argv,char *argc[]){char s[]="1234567890",t[30],i,j;for(i=0;s[i];i++);for(j=0,i--;i>=0;t[j++]=s[i--]);for(i++;t[j++]=s[i++];);printf("%s\n",t);//Look at...return 0;}缁撴灉锛...
  • C璇█缂栫▼灏嗗瓧绗︿覆s涓殑鎵鏈夊瓧绗︽寜ASCII鍊间粠灏忓埌澶ч噸鏂版帓搴忓悗,灏嗘帓搴...
    绛旓細include <stdio.h>#include <string.h>int main(){char str[] = "Hello World!", ch;int i, j, len;len = strlen(str);for (i = 0; i < len - 1; i++) {for (j = i + 1; j < len; j++) {if (str[i] > str[j]) {ch = str[i];str[i] = str[j];str[j...
  • c璇█绋嬪簭涓 浠瀛楃涓瞫涓鍒犻櫎鎸囧畾鐨瀛楃c.
    绛旓細c璇█浠瀛楃涓瞫涓鍒犻櫎瀛楃c锛include<stdio.h> /*浠瀛楃涓睸涓鍒犻櫎瀛楃c*/ voidsqueeze(char[],char);intmain()include<stdio.h> gets(s);printf("杈撳叆闇瑕佸垹闄ょ殑鎸囧畾瀛楃ch:");ch=getchar();for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch)s[j++]=s[i];s[j]='\0';printf("...
  • 鍏充簬C璇█绋嬪簭濉┖棰,缁熻瀛楃涓瞫涓鍑虹幇瀛愬瓧绗︿覆t鐨勬鏁?
    绛旓細绗竴涓┖濉紝t[j]!='\0'&&i<len1,绗簩绌轰笉鐢ㄥ~銆倀[j]!=0鍒ゆ柇瀛愪覆鏄惁涓虹┖锛宨<len1闃叉瀛楃涓杩囩晫銆傝繍琛屾晥鏋滃涓嬪浘鎵绀恒
  • C璇█:浠绘剰杈撳叆涓涓瀛楃涓瞫,灏唖涓鎵鏈夌殑瀛楃c鍒犻櫎
    绛旓細include <stdio.h> void main(){ char s[100];char *p,*q;printf("Please input a string:\n");scanf("%s", s);p=s;while(*p && *p!='c') p++;q=p;while(*q){ if(*q!='c') *p++=*q;q++;} p='\0';printf("The result is:\n");printf("%s", s);} ...
  • 扩展阅读:截取字符串的三种方法 ... c#字符串分割 ... c++菜鸟教程 ... c语言中将字符串交换 ... c语言字符串查询子串 ... c截取字符串中特定部分 ... c#字符串长度 ... c#截取字符串中的一部分 ... c子串查找 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网