strncpy函数的⽤法
利⽤标准库函数strncpy(),可以将⼀字符串的⼀部分拷贝到另⼀个字符串中。strncpy()函数有3个参数:第⼀个参数是⽬录字符串;第⼆个参数是源字符串;第三个参数是⼀个整数,代表要从源字符串拷贝到⽬标字符串中的字符数。以下是⼀个⽤strncpy()函数拷贝字符串的⼀部分的例⼦:
# include <stdio. h>
# include <string. h>
void main(void);
void main (void)
{
char * source_str = "THIS IS THE SOURCE STRING" ;
char dest_strl[40]= {0}, dest_str2[40]= {0};
/ * Use strncpy() to copy only the first 11 characters. * /
strncpy(dest_strl, source-str, 11);
printf("How about that! dest-strl is now: '%s'\n", dest-strl);
/ * Now, use strncpy() to copy only the last 13 characters. * /
strncpy(dest_strl, source_str + (strlen(source_str)-l3) , 13);
printf("Whoa! dest_str2 is now: '%s'\n". dest_str2);
}
在上例中,第⼀次调⽤strncpy()函数时,它将源字符串的头11个字符拷贝到dest_str1中,这是⼀种相当直接的⽅法,你可能会经常⽤到。第⼆次调⽤strncpy()函数时,它将源字符串的最后13个字符拷贝到dest_str2中,其实现过程为:
(1)⽤strlen()函数计算出source_str字符串的长度,即strlen(source_str)。
字符串函数库下载(2)将source_str的长度减去13(13是将要拷贝的字符数),得出source_str中剩余的字符数,即pstrlen(source_str)-13。
(3)将strlen(source_str)-13和source_str的地址相加,得出指向source_str中倒数第13个字符的地址的指针,即source_str+(strlen(source_str)-13)。这个指针就是strncpy()函数的第⼆个参数。
(4)在strncpy()函数的第三个参数中指定要拷贝的字符是13。
上例的打印输出如下所⽰:
How about that! dest_str1 is now:'THIS IS THE'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。