c語(yǔ)言中的strcat函數(shù)使用 我本意是想將結(jié)果有錯(cuò)誤的城市名稱(chēng)及反回錯(cuò)誤代碼在運(yùn)行結(jié)束后顯示出來(lái),這樣就省去在日志中查看理事的步驟了。 一開(kāi)始是想建一個(gè)數(shù)組,二維的,就像a(n,m),a(n1,m1)存的就是一對(duì)出錯(cuò)的城市及錯(cuò)誤代碼,沒(méi)有實(shí)現(xiàn)。 后來(lái)又想了現(xiàn)在的辦法,就是根據(jù)錯(cuò)誤類(lèi)型歸納城市,就是把一類(lèi)錯(cuò)誤的城市放在一個(gè)變量里,用空格隔開(kāi),這個(gè)想法我實(shí)現(xiàn)了。 用switch語(yǔ)句對(duì)錯(cuò)誤類(lèi)型進(jìn)行判斷,然后再用C語(yǔ)言的strcat函數(shù)來(lái)拼接字符。 char str_1[200]; char *tmp; switch(type_code) { case -1 tmp=lr_eval_string(("{City}")); strcat(str_1," ");//這個(gè)是增加城市與城市名稱(chēng)之前的空格,不好的地方是當(dāng)?shù)谝淮芜\(yùn)行時(shí)第一個(gè)城市名稱(chēng)之前就有空格,其實(shí)這里還可以改進(jìn)就是判斷錯(cuò)誤數(shù)為1時(shí),可以不加空格這一句 strcat(str_1,tmp);//拼接完成空格再拼接上下一個(gè)城市名稱(chēng)。 }
注意的是tmp必須用指針類(lèi)型的,不然會(huì)提示類(lèi)型指向錯(cuò)誤。 這個(gè)代碼不足的地方 1、str_1[200]的定義,其實(shí)這里定義成動(dòng)態(tài)的更好,不論存多少個(gè)城市名稱(chēng)都不會(huì)溢出 2、還需要弄懂的地方就是為什么在定義tmp是必須定義成指針類(lèi)型的。 解釋?zhuān)簊trcat函數(shù)的原型可以解釋這個(gè)問(wèn)題:原型:extern char *strcat(char *dest,char *src);原型中需要的拼接的參數(shù)是指針型的,哈哈。。。 3、這里的case就寫(xiě)了五個(gè)重點(diǎn)關(guān)注的,其它的類(lèi)型還很多,都?xì)w納到default里了,但是遇到這種情況時(shí),只記錄了城市名稱(chēng),沒(méi)有記錄什么類(lèi)型,需查改進(jìn)成記錄錯(cuò)誤類(lèi)型及城市名稱(chēng)。
strcat函數(shù) 原型:extern char *strcat(char *dest,char *src); 用法:#include <string.h> 功能:把src所指內(nèi)存區(qū)域不可能重疊且dest必須有足夠的空間來(lái)形容src字符串。返回指向dwst的指針。 舉例: //strcat.c #include <syslib.h> #include <string.h> main() { char d[20]="Golden Global"; char *s=" Vies"; clrscr(); strcat(d,s); printf("%s",d); getchar(); return 0; } //printf的結(jié)果是:Golden Global Vies
strncat函數(shù) 這個(gè)函數(shù)是指定被拼接的前幾個(gè)字符拼接到前面的字符,呵呵,這是在查詢(xún)字符串拼接是先查到的一個(gè)函數(shù)。 原型:extern char *strncat(char *dest,char *src,int n0; 用法:#include<string.h> 功能:把src所指字符串的前n個(gè)字符添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'. 說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。返回指向dwst的指針。 舉例: //strncat.c #include <syslib.h> #include <string.h> main(); { char d[20]="Golden Global"; char *s=" View WinIDE Library"; clrscr(); strncat(d,s,5); printf("%s",d); getchar(); return 0; } //printf的結(jié)果是:Golden Global View
|