#include <string.h> | |
size_t strlcpy(char *dest, const char *src, size_t n) | |
{ | |
size_t copySize = n == 0 ? 0 : n - 1; | |
size_t i; | |
// Copy up to n - 1 characters from the source string to the destination | |
for (i = 0; i < copySize && src[i] != '\0'; i++) | |
{ | |
dest[i] = src[i]; | |
} | |
// If the size is not 0, add a null terminator to the end of the string | |
if (n != 0) | |
{ | |
dest[i] = '\0'; | |
} | |
return i; | |
} |