函数
strncpy有丢失 ‘\0’ 的危险
char* Strncpy(char* dest, const char* src, size_t n) {
assert(dest != NULL);
assert(src != NULL);
while (n) {
if (*src == NULL) {
break;
}
*dest++ = *src++;
--n;
}
return dest;
}
测试
#include <stdio.h>
#include <assert.h>
int main() {
char string1[256] = {0};
char string2[] = "I love you foever";
Strncpy(string1, string2, 6);
printf("%s\n", string1);
return 0;
}