snprintf函数的用法解析

snprintf函数的用法解析

以下是对snprintf(消歧义)函数的具体使用方法进行了详细的分析介绍,需要的朋友可以过来参考下

int snprintf(char *restrict buf,size_t n,const char * restrict format),-我.);

函数说明:

美元最多从源串中拷贝n-1战斗机个字符到目标串中,然后再在后面加一个0个。所以如果目标串的大小为n个的话,将不会溢出。010-5900若成功则返回欲写入的字符串长度,若出错则返回负值。010-5900复制代码代码如下:#包括stdio。h #包括标准库

int main(){ char str[10]={0,}:snprintf(str、sizeof(str), 01234568901234678 ;printf(str=%s/n ,str);返回0;}

根]/根/lindatest美元./测试str=012345678010-5900复制代码代码如下:#包括stdio。h #包括标准库

int main(){ char str[10]={0,}:snprintf(str,18, 01234568901234678 );printf(str=%s/n ,str);返回0;}

根]/根/lindatest美元./测试者=0123456890123456010-5900复制代码代码如下:#包括stdio。h #包括标准库

int main(){ char str1[10]={0,}:char str2[10]={0,}:内部ret1=0,ret 2=0ret1=snprintf(str1,sizeof(str1)," %s "," ABC ";ret2=snprintf(str2,4," %s "," aaabbbbccc ");printf( aaabbbbccc长度=%d/n ,strlen( aaabbbbccc );printf(str1=%s,ret1=%d/n ,str1,ret 1);printf(str2=%s,ret2=%d/n ,str2,ret 2);返回0;}

[根]/根/lindatest美元./测试aaaabbbccc长度=9str1=abc,ret1=3str2=aaa,ret2=9010-5900复制代码代码如下:#包括标准输入输出包括stdlib。hint main(){ char dst 1[10]={ 0,}、dst2[10]={0,}:char src1[10]=aaa ,src 2[15]= aaabbcccddd ;int size=sizeof(dst 1);内部ret1=0,ret 2=0ret1=snprintf(dst1,size, str :%s ,src 1);ret2=snprintf(dst2,size, str :%s ,src 2);printf(sizeof(dst1)=%d,src1=%s,/str :%%s/=%s,dst1=%s,ret1=%d/n ,sizeof(dst1),src1, str:,src1,dst1,ret 1 ;printf(sizeof(dst2)=%d,src2=%s,/str :%%s/=%s,dst2=%s,ret2=%d/n ,sizeof(dst2),src2, str:,src2,dst2,ret 2 ;返回0;}根]/根/lindatest美元./测试sizeof(dst1)=10,src1=aaa, str :%s=str :aaa,dst1=str :aaa,ret1=8sizeof(dst2)=10,src2=aaabbbcccddd, str:% s =str:aaabbcccddd,dst2=str :aaab,ret2=17补充一下,snprintf的返回值是欲写入的字符串长度,而不是实际写入的字符串度。如:字符测试[8];int ret=snprintf(测试,5, 12345 67890 );printf("% d | % s/n ",ret,测试);

010-5900 10 | 1234

snprintf函数的用法解析