char *strncpy(char *dest, const char *src, size_t n); 最多从src中拷贝n个字符到dest。如果src的大小小于n,那么dest剩下的部分将被填0; 如果src的大小大于等于n,那么dest剩下的部分不会被填0,于是dest将不会以0结束。
char *strncat(char *dest, const char *src, size_t n); 最多从源中拷贝n个字符到目标串中,并在后面加一个0;也就是说,最多会有n+1个字符被写进dest。如果dest的容量为n,那么将会dest将会溢出。
int snprintf(char *str, size_t size, const char *format, ...); 最多从源串中拷贝size-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为size的话,将不会溢出。
所以,字符串拷贝,最好用snprintf。
|