自己实现一个字符串的拷贝函数
#include<stdio.h> #include<stdlib.h> #include <string.h> char * mystrcpy(char * dest,char * src) { if(dest==NULL||src==NULL) { return NULL; } char * bak=dest; while(*src!='\0') { *dest=*src; dest++; src++; } *dest='\0';//添加结束标识符 return bak; } char * mystrncpy(char * dest,char * src,int count) { if(dest==NULL||src==NULL) { return NULL; } char * bak=dest; while(*src!='\0'&&count>0) { *dest=*src; dest++; src++; count--; } *dest='\0';//添加结束标识符 return bak; } int main() { char dest[128]={'\0'}; char dest2[128]={'\0'}; char * src="helloworld"; mystrcpy(dest,src); mystrncpy(dest2,src,3); printf("%s\n",dest); printf("%s\n",dest2); printf("done\n"); return 0; }
上述实现了一个全拷贝和部分拷贝函数。
输出结果:
helloworld
hel
done