#include<stdio.h>
#define size_t unsigned int
size_t str_len(const char* str)//const作用;在函数中使值固定,若变化则报错
{
if(NULL == str)
{
return -1;
}
size_t len =0;
while(str[len]) len++;
return len;
}//判断数组的长度;
char* strcpy(char* dest,size_t size,char* src)
{
if(NULL == dest || NULL ==src)
{
return NULL;
}
size_t len = str_len(src);
size_t min = len<size?len:size;
for(int i=0; i<min;i++)
{
dest[i] = src[i];
}
return dest;
}
int main()
{
printf("%d\n",str_len("hello\n"));
char buf[10] = {};
printf("%p\n",strcpy(buf,10,"hello word"));
}
字符串长度拷贝函数,考虑到目标溢出问题,如果目标位置无效或超出则报错
最新推荐文章于 2022-10-03 11:45:37 发布