1.strncpy介绍
strncpy --- 字符串拷贝 --- 拷贝num个字符
char* strncpy ( char* destination, const char* source, size_t num )
拷贝num个字符从源字符串到目标空间;
如果源字符串长度小于num,则拷贝完源字符串之后,在目标的后边追加’\0‘,直到num个.
2.strncpy实现
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<string.h>
char* my_strncpy(char* destination, const char* source,unsigned int num)
{
assert(destination && source);
char* ret = destination;
while (num&&(*destination++ = *source++))
{
num--;
}
if (num != 0)
{
while (num)
{
*destination++ = '\0';
num--;
}
}
return ret;
}
int main()
{
char arr1[30] = "abcdef";
char arr2[] = "bit";
my_strncpy(arr1, arr2,6);
printf("%s",arr1);
return 0;
}