c语言中的strcat函数使用 我本意是想将结果有错误的城市名称及反回错误代码在运行结束后显示出来,这样就省去在日志中查看理事的步骤了。 一开始是想建一个数组,二维的,就像a(n,m),a(n1,m1)存的就是一对出错的城市及错误代码,没有实现。 后来又想了现在的办法,就是根据错误类型归纳城市,就是把一类错误的城市放在一个变量里,用空格隔开,这个想法我实现了。 用switch语句对错误类型进行判断,然后再用C语言的strcat函数来拼接字符。 char str_1[200]; char *tmp; switch(type_code) { case -1 tmp=lr_eval_string(("{City}")); strcat(str_1," ");//这个是增加城市与城市名称之前的空格,不好的地方是当第一次运行时第一个城市名称之前就有空格,其实这里还可以改进就是判断错误数为1时,可以不加空格这一句 strcat(str_1,tmp);//拼接完成空格再拼接上下一个城市名称。 }
注意的是tmp必须用指针类型的,不然会提示类型指向错误。 这个代码不足的地方 1、str_1[200]的定义,其实这里定义成动态的更好,不论存多少个城市名称都不会溢出 2、还需要弄懂的地方就是为什么在定义tmp是必须定义成指针类型的。 解释:strcat函数的原型可以解释这个问题:原型:extern char *strcat(char *dest,char *src);原型中需要的拼接的参数是指针型的,哈哈。。。 3、这里的case就写了五个重点关注的,其它的类型还很多,都归纳到default里了,但是遇到这种情况时,只记录了城市名称,没有记录什么类型,需查改进成记录错误类型及城市名称。
strcat函数 原型:extern char *strcat(char *dest,char *src); 用法:#include <string.h> 功能:把src所指内存区域不可能重叠且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的结果是:Golden Global Vies
strncat函数 这个函数是指定被拼接的前几个字符拼接到前面的字符,呵呵,这是在查询字符串拼接是先查到的一个函数。 原型:extern char *strncat(char *dest,char *src,int n0; 用法:#include<string.h> 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'. 说明:src和dest所指内存区域不可以重叠且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的结果是:Golden Global View
|