分类: C/C++
2012-06-21 16:12:55
利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中,原型为:
strncpy()函数有3个参数:第一个参数是目录字符串;第二个参数是源字符串;第三个参数是一个整数,代表要从源字符串拷贝到目标字符串中的字符数,其中返回值与destination相同。
这个函数会出现三种情况:
1、num
2、num=source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符);
3、num>source串的长度(包含最后的'\0'字符):那么该函数将会拷贝source的全部字符到destination串中(包括source串结尾的'\0'字符),并且在destination串的结尾继续加上'\0'字符,直到拷贝的字符总个数等于num为止。
[例]
设有如下声明,注意此时source串的长度为6(包含最后的'\0'字符):
情形1:如果执行如下语句:
那么destination的前5个字符将会被'-'替换,即(以'0'表示'\0'字符):
情形2:如果执行如下语句:
那么destination的前6个字符将会被source的前6个字符替换,即(以'0'表示'\0'字符):
情形3:如果执行如下语句:
那么destination的前6个字符将会被source的前6个字符替换,并且会在后面补4个'\0',即(以'0'表示'\0'字符):