当前位置:
文档之家› C语言中处理字符串的各种自定义函数(精)
C语言中处理字符串的各种自定义函数(精)
char * sef_strcpy(char *str1,char *str2
{
If( (NULL==str1||(NULL==str2
{
printf(“ invalid argument(s” ;
return;
}
char *strcopy=str1;
while(„ \0‟ != *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
;
*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++
{str++;}
while(„ \0‟ != (*str1++=*str2++
;
*str1=‟ \0‟ ;
return strc数
int sef_strlen(char *str
{
if(NULL==str
{ printf(“输入参数错误,值为NULL ! ” ;
C语言中处理字符串的各种自定义函数
关于strcpy,strcmp,strcat,strlen的自定义函数,它是为了避免调用库函数对代码兼容的局限性。要注意如下一些问题:
1.检查输入的两个指针是否有效;
2.检查两个字符串是否以NULL结尾;
3.检查目标指针的空间是否大于等于原字符串的空间。
一. strcpy自定义
char *p=str;
while(„ \0‟ !=*str++
;
return str-p-1;
}
注意点:对于指针变量P ,其值可以任意改变。在分配了一定内存空间后,假如P的值发生改变,此时再释放P的内存空间,将会使程序产生崩溃性错误。所以在P值为改变之前要先定义一个指针变量保存P的初值。