當前位置:首頁 » 編程語言 » c語言替換字元串
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言替換字元串

發布時間: 2022-02-17 13:46:29

1. c語言 字元替換

考,ACM題?

偶試試看先,等等發上來……

----------------------------------

完工:

#include <stdio.h>
#include <stdlib.h>

void main()
{
int count = 0, i = 0;
char str[31], ori, rpl, *p;
scanf( "%d", &count );
if( count<1 )
exit( -1 );
else {
for( ; i<count; i++ )
{
scanf( "%s %c %c", str, &ori, &rpl );
p = str;
while( *p!='\0' )
{
if( *p==ori ) *p=rpl;
*p++;
}
printf( "%s\n", str );
}
}
}

2. C語言字元串替換代碼

把你的代碼直接復制、粘貼,運行出來的結果里,字元串b並沒有變啊!

添加了幾句puts語句,用來顯示中間過程的字元串的狀態,如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
//替換某串
intmain()
{
chars[]={"abcdefcdff"};
chara[]={"cd"};
charb[4]={"123"};
chart[4];
char*ptr;
//s中的a都用b替代

while(ptr=strstr(s,a))
{
puts("STRING---b:");
puts(b);
puts("STRING---s:");
puts(s);
strcpy(t,ptr+strlen(a));
puts("STRING---b:");
puts(b);
puts("STRING---t:");
puts(t);
strcpy(ptr,b);
puts("STRING---ptr:");
puts(ptr);
strcpy(ptr+strlen(b),t);
puts("STRING---s:");
puts(s);
puts(" ");
}
puts("STRING---s:");
puts(s);
return0;
}

運行截圖:

3. c語言編程替換文件中字元串

方法和詳細的操作步驟如下:

1、第一步,依次單擊visual C ++ 6.0的「文件」-->「新建」-->「文件」-->「C++ Source File」選項,見下圖,轉到下面的步驟。

4. C語言初學,字元替換

主函數的名字錯了。字母順序反了。

字元串是用數組存儲的。你的str變數定義錯了,應該是charstr[100];

函數調用的寫法也是錯的。調用函數只寫函數名和參數名。而且要寫在最後一個printf語句前面,等你輸入完成了才能調用函數。

strchange(str,c1,c2);

函數聲明則要寫在main函數的前面,不是裡面。

scanf();後要跟一句getchar();取走一個回車或空格字元,否則下一句scanf無法接收到你輸入的字元。

修改後可執行的完整代碼如下

#include<stdio.h>
char*strchange(char*str,charc1,charc2);
main(){
charc1,c2,str[100];
printf("請輸入字元串:");
scanf("%s",str);
getchar();
printf("請輸入要替換的字元:");
scanf("%c",&c1);
getchar();
printf("請輸入被替換為的字元:");
scanf("%c",&c2);
strchange(str,c1,c2);
printf("替換後的字元串為:%s",str);
}
char*strchange(char*str,charc1,charc2){
while(*str){
if(*str==c1){
*str=c2;
}
str++;
}
returnstr;
}

5. C語言寫一個替換字元串的程序

#include<stdio.h>
#include<malloc.h>
#include<memory.h>
#include<string.h>
char*replace(char*str,constchar*before,constchar*after)
{
if(strcmp(before,after)==0)
returnstr;
char*ps=str;
char*tmps;
intfl;
while(ps=strstr(ps,before))
{
tmps=(char*)malloc(ps-str+strlen(after)+1);
memcpy(tmps,str,ps-str);
*(tmps+(ps-str))=0;
strcat(tmps,after);
ps+=strlen(before);
tmps=(char*)realloc(tmps,strlen(tmps)+strlen(ps)+1);
fl=strlen(tmps);
strcat(tmps,ps);
strcpy(str,tmps);
ps=str+fl;
free(tmps);
}
returnstr;
}
intmain()
{
charstr[200]="1223344222333444";
printf("%s ",replace(str,"22","ABC"));
return0;
}

哦,不能用strstr和memcpy啊,改了下:

#include<stdio.h>
#include<malloc.h>
#include<string.h>
char*fstr(char*str,constchar*subs)
{
char*t=(char*)malloc(strlen(subs)+1);
char*ps=str;
inti;
intslen=strlen(subs);
*(t+slen)=0;
while(strlen(ps)>=slen)
{
for(i=0;i<slen;++i)
{
*(t+i)=*(ps+i);
}
if(strcmp(t,subs)==0)
{
free(t);
returnps;
}
++ps;
}
free(t);
returnNULL;
}
char*replace(char*str,constchar*before,constchar*after)
{
if(strcmp(before,after)==0)
returnstr;
char*ps=str;
char*tmps;
intfl,i;
while(ps=fstr(ps,before))
{
tmps=(char*)malloc(ps-str+strlen(after)+1);
for(i=0;i<ps-str;++i)
*(tmps+i)=*(str+i);
*(tmps+(ps-str))=0;
strcat(tmps,after);
ps+=strlen(before);
tmps=(char*)realloc(tmps,strlen(tmps)+strlen(ps)+1);
fl=strlen(tmps);
strcat(tmps,ps);
strcpy(str,tmps);
ps=str+fl;
free(tmps);
}
returnstr;
}
intmain()
{
charstr[200]="1223344222333444";
printf("%s ",replace(str,"22","ABC"));
return0;
}

6. C語言中如何替換一個字元串中的字元

include
<stirng.h>
void
strrpl(char
*s,
const
char
*s1,
const
char
*s2)
{
char
*ptr;
while
(ptr
=
strstr(s,
s1))
/*
如果在s中找到s1
*/
{
memmove(ptr
+
strlen(s2)
,
ptr
+
strlen(s1),
strlen(ptr)
-
strlen(s1)
+
1);
memcpy(ptr,
&s2[0],
strlen(s2));
}
return
s;
}
int
main()
{
char
*str1="abc",
*str2="a",
*str3="de",
Str0[100];
//如果字元串很長,100不夠則需要預留更大的空間。
strcpy(Str0,Str1);
strrpl(Str0,
str2,
str3);
printf("%s\n",
Str0);
return
0;
}

7. c語言如何將一個字元串里某些字元代替另外一個字元串來

用char *strstr(const char *str, const char *strSearch ); 函數找到源字元串中,你要替換的字元串。該函數返回要替換的字元串的指針。然後將替換的字元串賦值給該指針的位置。

8. c語言中完成一個自定義函數,替換指定字元串中的對應字元的代碼

BOOLstrrep(char*strRes,char*from,char*to)

{

inti;

BOOLflag=0;

char*p,*q,*ts;

for(i=0;strRes[i];++i)

{

if(strRes[i]==from[0])

{

p=strRes+i;

q=from;

while(*q&&(*p++==*q++));

if(*q=='')

{

ts=(char*)malloc(strlen(strRes)+1);//分配內存strcpy(ts,p);//復制字元串
strRes[i]='';

strcat(strRes,to);//連接字元串
strcat(strRes,ts);

free(ts);//釋放內存
flag=1;//成功
}

}

}

returnflag;/*返回是否成功*/

}

9. c語言:如何將字元串中指定的字元替換為另一個指定字元

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。