设将可变参数(...),按照 format的格式 格式化成字符串,复制到 str 中,size 是要写入的字符的最大数目,超过 size 会被截断。size是限定最终生成的strt的字符数,而不是(...)的字符数,需要注意。当格式化后的字符串长度小于等于 size,则会把字符串全部复制到 str 中,并给其后添加一个字符串结束符 ,如果格式化后的字符串长度大于 size,超过 size 的部分会被截断,只将其中的 (size-1) 个字符复制到 str 中,并给其后添加一个字符串结束符 。
注意:snprintf的返回值是欲写入的字符串(即源字符串)长度,而不是实际写入的字符串度。
实例代码:
char test[8];int ret= snprintf(test,5,"1234567890");printf("%d|%sn",ret,test);运行结果:
10|1234最后,注意这个函数在linux和windows下是不同的linux下用的是snprintf(),而windows下用的是_snprintf();
参考:
snprintf()函数使用方法 - 我寒流 - 博客园
C++snprintf的使用_sinat_31608641的博客-CSDN博客_c++ snprintf