函数
strncat有越界的危险
char* Strncat(char* dest, const char* src, size_t n) {
assert(dest != NULL);
assert(src != NULL);
while (*dest != '\0') {
++dest;
}
while (n) {
if (*src == '\0') {
break;
}
*dest++ = *src++;
--n;
}
*dest = '\0';
return dest;
}
测试
int main() {
char string1[256] = "I love";
char string2[] = " sock cool";
Strncat(string1, string2, 5);
printf("%s\n", string1);
return 0;
}