免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

c語言用函數替換字符 C語言替換字符

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

#include?"stdafx.h"

專業從事成都網站設計、成都網站建設,高端網站制作設計,微信小程序開發,網站推廣的成都做網站的公司。優秀技術團隊竭力真誠服務,采用H5高端網站建設+CSS3前端渲染技術,成都響應式網站建設,讓網站在手機、平板、PC、微信下都能呈現。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。

#include?stdio.h

#include?string.h

void?replaceChar(char?*string,?char?oldChar,?char?newChar){

int?len?=?strlen(string);

int?i;

for?(i?=?0;?i??len;?i++){

if?(string[i]?==?oldChar){

string[i]?=?newChar;

}

}

}

int?main(){

char?str[]?=?"test";

char?oldChar?=?'t';

char?newChar?=?'w';?

replaceChar(str,?oldChar,?newChar);

printf("%s\n",?str);

return?0;

}

c語言 字符串替換函數

替換函數主要有strtr(),str_repalce()這兩個函數。

首先針對strtr函數第一種方式:

我們看看下面的舉例:

?php

echo strtr("I Love you","Lo","lO");

?

得到的結果是:

I lOve yOu

這個結果提醒我們:

1.strtr它是區分大小寫的

2.strtr的替換是很特殊的,你注意看后面那個yOu,中間的O被替換的,這顯然不是我們的本意。

再舉一個特殊例子,說明這個php的sttr函數的怪異

?php

echo strtr("I Love you","Love","");

?

結果是:

I Love you

什么也不會改變,所以strtr需要注意的是:

3.不能被替換為空,也就是末位那個參數不能是空字符串,當然空格是可以的。

再次舉例strtr函數的另一種情況:

?php

echo strtr("I Loves you","Love","lOvEA");

?

結果是:

I lOvEs yOu

注意看第三個參數的A,在結果中并沒有出現。

4.我不建議用strtr以少換多。

ok,既然這個strtr函數挺麻煩為什么還要用呢?

原因是,它的速度很快。據說,strtr 比 str_replace 快四倍。

5.能用strtr函數的時候一定要用。

第二種情況:

strtr(string,array)

6.strtr符合意愿的使用方法

?php

$table_change = array('you'='her sister');

echo strtr("I Love you",$table_change);

?

結果為:

I Love her sister

7.小技巧:你想到替換什么你就往數組加什么

比如:

?php

$table_change = array('you'='her sister');

$table_change += array('Love' = 'hate');

echo strtr("I Love you",$table_change);

?

結果是:

I hate her sister

再次提醒那個Love 寫成love 是行不通的哦。

字符串取代。

語法: string str_replace(string needle, string str, string haystack);

返回值: 字符串

函數種類: 資料處理

內容說明

本函數將字符串 str 代入 haystack 字符串中,將所有的 needle 置換成 str。

下例將 %body% 以 black 取代

?php

$bodytag = str_replace("%body%", "black", "body text=%body%");

echo $bodytag;

?

格式:

[@str_replace("要替換的舊內容", "要取代原內容的新字符", $被替換內容的變量名)]

[@str_replace(array('舊1','舊2','舊3'), array('新1','新2','新3'), $被替換內容的變量名)]

[@str_replace(array('舊1','舊2','舊3'), '新內容', $被替換內容的變量名)]

實例:

多對一替換:想把內容字段里所有的p/p標簽清除掉,替換成空 [@str_replace(array('p','/p'), '', $Content)]

一對一替換:想把內容字段里所有的br標簽換成p [@str_replace('br', 'p', $Content)]

多對多替換:想把內容字段里的br換成br /, 同時p換hr,把/p全清除 [@str_replace(array('br', 'p','/p'), array('br /','hr',''), $Content)]

c語言運用函數替換字符串中的數字求助大佬

#include stdio.h

#define N 80

/* 請在這里填寫答案 */

void f(char *c,char a)

{

for(;*c;c++)

? if(*c='0'*c='9')

? ? ? *c=a;

}

int main(void)

{

char c[N], a;

gets(c);

scanf("%c", a);

f(c, a);

printf("%s", c);

return 0;

}

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

strdup(source);

/*申請結果串需要空間*/

result

=

(char

*)malloc(((irepisub)?(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語言查找替換字符

 #includestdio.h

#includeconio.h

#includestring.h

#includestdlib.h

void?Substitute(char?*pInput,?char?*pOutput,?char?*pSrc,?char?*pDst)

{

char????*pi,?*po,?*p;

int?????nSrcLen,?nDstLen,?nLen;

//?指向輸入字符串的游動指針.

pi?=?pInput;

//?指向輸出字符串的游動指針.

po?=?pOutput;

//?計算被替換串和替換串的長度.

nSrcLen?=?strlen(pSrc);

nDstLen?=?strlen(pDst);

//?查找pi指向字符串中第一次出現替換串的位置,并返回指針(找不到則返回null).

p?=?strstr(pi,?pSrc);

if(p)

{

//?找到.

while(p)

{

//計算被替換串前邊字符串的長度.

nLen?=?(int)(p?-?pi);

//?復制到輸出字符串.

memcpy(po,?pi,?nLen);

memcpy(po?+?nLen,?pDst,?nDstLen);

//?跳過被替換串.

pi?=?p?+?nSrcLen;

//?調整指向輸出串的指針位置.

po?=?po?+?nLen?+?nDstLen;

//?繼續查找.

p?=?strstr(pi,?pSrc);

}

//?復制剩余字符串.

strcpy(po,?pi);

}

else

{

//?沒有找到則原樣復制.

strcpy(po,?pi);

}

}

int?main(int?ac,?char?*av[])

{

if?(ac!=5)?{

printf("程序名?要操作的文件?新文件?查找的字符串?替換的字符串\n");

printf("示例:test.exe?1.txt?2.txt?hello?love\n");

return?0;

}

const?int?MAXSIZES?=?100;

FILE?*fpSrc,*fpDes;

char?filename1[20]="1.txt";

char?filename2[20]="2.txt";

//要求查找的字符串,替換的字符串;

char?ps[]="hello";

char?pd[]="love";

//求取所查找和替換的字符串的長度;

int?len_src=strlen(av[3]);

int?len_des=strlen(av[4]);

//定義存儲字符串緩沖區;很奇怪的一點是,fgets函數不能將字符串寫入動態分配的內存中

/*char*?Src_buf=(char*)(sizeof(char)*MAXSIZES);

char*?Cpy_buf=(char*)(sizeof(char)*MAXSIZES);

char*?Des_buf=(char*)(sizeof(char)*MAXSIZES);*/

char?Src_buf[MAXSIZES]?=?{0};

char?Cpy_buf[MAXSIZES]?=?{0};

char?Des_buf[MAXSIZES]?=?{0};

//打開文件

if((fpSrc=fopen(av[1],"r+"))==NULL)

{

printf("fail?to?open?the?file1?!\n");

exit(1);

}

if((fpDes=fopen(av[2],"a+"))==NULL)

{

printf("fail?to?open?the?file2?!\n");

exit(1);

}

//進行循環讀取

while(!feof(fpSrc))//判斷文件是否已結束;!feof(fpSrc)

{

fgets(Src_buf,MAXSIZES,fpSrc);

Substitute(Src_buf,Des_buf,av[3],av[4]);

fputs(Des_buf,fpDes);

printf("%s",Des_buf);

}

fclose(fpSrc);

fclose(fpDes);

system("pause");

return?0;

}

分享題目:c語言用函數替換字符 C語言替換字符
URL標題:http://m.newbst.com/article20/hjjhjo.html

成都網站建設公司_創新互聯,為您提供App設計企業網站制作關鍵詞優化網站內鏈網站營銷品牌網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設