《C语言中处理字符串的各种自定义函数》由会员分享,可在线阅读,更多相关《C语言中处理字符串的各种自定义函数(2页珍藏版)》请在金锄头文库上搜索。
1、C 语言中处理字符串的各种自定义函数关于 strcpy,strcmp,strcat,strlen 的自定义函数,它是为了避免调用库函数对代码兼容的局限性。要注意如下一些问题:1 检查输入的两个指针是否有效;2 检查两个字符串是否以 NULL 结尾;3 检查目标指针的空间是否大于等于原字符串的空间。一strcpy 自定义char * sef_strcpy(char *str1,char *str2) If( (NULL=str1)|(NULL=str2)printf(“invalid argument(s)”);return;char *strcopy=str1;while(0!= *str1+
2、=*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(“输入参数错误!”);retu
3、rn;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 的初值。