文档详情

C语言中处理字符串的各种自定义函数.doc

发布:2017-06-06约1.03千字共2页下载文档
文本预览下载声明
C语言中处理字符串的各种自定义函数 关于strcpy,strcmp,strcat,strlen的自定义函数,它是为了避免调用库函数对代码兼容的局限性。要注意如下一些问题: 检查输入的两个指针是否有效; 检查两个字符串是否以NULL结尾; 检查目标指针的空间是否大于等于原字符串的空间。 strcpy自定义 char * sef_strcpy(char *str1,char *str2) { If( (NULL==str1)||(NULL==str2)) { printf(“invalid argument(s)”); return; } char *strcopy=str1; while(‘\0’!= *str1++=*str2++) ; *str1=’\0’; return strcopy; } strcmp的自定义 int sef_strcpy(char *str1,char *str2) { If( (NULL==str1)||(NULL==str2)) { printf(“输入参数错误,值为NULL!\n”); return -1; } while(*str1*str2( *str1++==*str2++)) ; return str1-str2; } strcat的自定义 char * sef_strcat(char *str1,char *str2) { If( (NULL==str1)||(NULL==str2)) { printf(“输入参数错误!”); return; } char *strcopy=str1; while(‘\0’!=*str1) {str++;} while(‘\0’!= (*str1++=*str2++)) ; *str1=’\0’; return strcopy; } strlen的自定义函数 int sef_strlen(char *str) { if(NULL==str) { printf(“输入参数错误,值为NULL!”); char *p=str; while(‘\0’!=*str++) ; return str-p-1; } 注意点:对于指针变量P,其值可以任意改变。在分配了一定内存空间后,假如P的值发生改变,此时再释放P的内存空间,将会使程序产生崩溃性错误。所以在P值为改变之前要先定义一个指针变量保存P的初值。
显示全部
相似文档