赞
踩
这些单位n是字节,参数中比刚刚的那些函数实现相比,第三个参数是size_t n
如果要拷贝的个数,是大于源字符串本身的大小时,会自动补\0
,直到n个
对于追加strncat,追加结束之后,会自动补一个0,这样能保证追加完的目标仍然是一个字符串。
注意:
这里最需要注意的是,如果传入的参数n是大于源字符串的大小时,并不会一直自动补0,而是目标字符串是什么,那个位置的字符就是什么,这一点是和strncpy是不一样的
举例说明:
对于strncpy
char arr1[10] = "abcdefgh";
char arr2[] = "bit";
strncpy(arr1, arr2, 6); // bit000gh
对于strncat
char arr1[30] = "hello\0xxxxxxxxx";
char arr2[] = "world";
strncat(arr1, arr2, 8); // helloworld\0xxxxx
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。