當前位置:首頁 » 編程語言 » c語言字元串替換

c語言字元串替換

發布時間: 2022-01-08 20:49:25

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;
}

運行截圖:

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

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

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

⑶ 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
strp(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;
/*
如果找到了子串,進行以下處理工作*/
if(NULL==*pc3)
{
pc3
=
rep;
/*將替代串追加到結果串*/
while(*pc3
!=
NULL)
*pc1
=
*pc3;
pc2--;
source
=
pc2;
/*
檢查
source和sub相等循環結束後
*
pc2
對應位置是在
sub
中串結束符處該是源串中下個位置
*

source
指向其前面個
***************************************************/
}
/*如果沒找到子串,下面復制source所指位元組到結果串*/
*pc1
=
*source;
source;
/*
將source向後移個*/
}
*pc1
=
NULL;
result;
}

⑷ C語言 把字元串中的字母替換

char *p = "sdkfiimw";

因為你這句把指針指向了常量,而p是一個變數指針
兩個改法
一,申明一個字元數組,讓p指向這個數組
二,把p和s申明為指向常量的指針
const char *p = "sdkfiimw";
const char *s = p;

⑸ c語言如何把字元替換成字元串

簡單。
編個程,就行。

⑹ 求C語言替換字元串中某個字元的函數

#include "stdio.h"
#include "string.h"
void swap(char s[100],char a,char b)/*a為原來要替換的字元,b是替換後的字元*/
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]==a)
{
s[i]=b;
}
}
}
main()
{
char s[100];
char a,b;
int i;
printf("請輸入一個字元串:\n");
gets(s);
printf("\n請輸入要替換的字元和要替換後的字元,用逗號隔開:");
scanf("%c,%c",&a,&b);
swap(s,a,b);
puts(s);
}

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

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

⑻ C語言字元串替換

效果圖:

#include<stdio.h>

intgetLen(chara[]){
intlen=0;
while(a[len]!='')len++;
returnlen;
}

intfind(chara[],charb[],intidx){
intla=getLen(a),lb=getLen(b),t=la-lb,i,f;
for(;idx<=t;idx++){
f=0;
for(i=0;i<lb;i++){
if(a[idx+i]!=b[i]){f=1;break;}
}
if(f==0)returnidx;
}
return-1;
}

intmain(){
chara[1024],b[1024],cmp[1025];
inti=0,j,la,lc;
scanf("%s",a);
scanf("%s",cmp);
scanf("%s",b);

la=getLen(a);
lc=getLen(cmp);

j=0-lc;
while(1){
j=find(a,cmp,j+lc);
if(j==-1){
while(i<la){
printf("%c",a[i++]);
}
break;
}
for(;i<j;i++)printf("%c",a[i]);
i+=lc;
printf("%s",b);
}
printf(" ");
}

答題不易,如無疑問,覺得可以的話,採納一下

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

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

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

熱點內容
視頻伺服器搭建海康 發布:2025-04-30 23:50:29 瀏覽:92
xp共享怎麼設置密碼 發布:2025-04-30 23:50:24 瀏覽:157
租用電腦主機搭建伺服器 發布:2025-04-30 23:28:06 瀏覽:731
php子類調用父類方法 發布:2025-04-30 23:11:55 瀏覽:676
存檔加密id 發布:2025-04-30 22:20:50 瀏覽:747
mac搭建php環境 發布:2025-04-30 21:58:13 瀏覽:140
雅迪電動車配置有哪些 發布:2025-04-30 21:38:27 瀏覽:158
為什麼用文件存儲取代mysql 發布:2025-04-30 21:17:26 瀏覽:613
我的世界免費伺服器ip 發布:2025-04-30 20:41:26 瀏覽:774
華為雲相冊在哪裡找安卓11 發布:2025-04-30 20:19:59 瀏覽:273