#include <stdio.h>
#include <string.h>
#include <assert.h>
char *myStrcpy(char *des,char *src){
assert(des !=NULL && src !=NULL);//断言。
char *bak=des;
while(*src !='\0'){
*des=*src;
des++;
src++;
}
*des='\0';
return bak;
}
char *myStrcpy2(char *des, char *src){
if(des==NULL||src==NULL){
return NULL;
}
char *bak=des;
while(*src !='\0'){
*des++ = *src++;
}
*des='\0';
return bak;
}
char *myStrcpy3(char *des, char *src){
if(des==NULL||src==NULL){
return NULL;
}
char *bak=des;
while((*des++ = *src++) !='\0');
*des='\0';
return bak;
}
char *myStrncpy(char *des, char *src,int count){
if(des==NULL||src==NULL){
return NULL;
}
char *bak=des;
while(*src !='\0'&&count>0){
*des++ = *src++;
count--;
}
if(count>0){
while(count>0){
count--;
*des++ = '\0';
}
return des;
}
*des='\0';
return bak;
}
int main()
{
char str[128]={'\0'};
char *p="chenlic handsome";
char a='m';
char b;
if((b=a)=='m'){
printf("ok\n");
}
myStrcpy(str,p);
//char *pstr=NULL;
/*puts(str);
myStrcpy2(str,p);
puts(str);*/
myStrcpy3(str,p);
puts(str);
myStrcpy(str,p);
puts(str);
return 0;
}
C语言,assert断言
最新推荐文章于 2024-10-08 23:13:16 发布
文章介绍了C语言中三个自定义字符串复制函数(myStrcpy,myStrcpy2,myStrcpy3)的实现以及myStrncpy函数,通过示例展示了它们的用法和特点。
摘要由CSDN通过智能技术生成