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