以下是对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
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。