说起来这个函数大家肯定不陌生,相信大家都知道这是一个格式化字符串到指定的缓存中,从网上搜索实例大多如:菜鸟教程sprintf 根据提供的示例大家都能完成基本的字符格式化流程 我在这里想补充的是,各个文章关注的都是参数如何表达,可能大家没有注意到这个函数的返回值: 如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。 我们今天就来讨论一下返回值的妙用 返回写入字符总数charbuffer〔256〕{0};intlen0;charnameSintage29;lensprintf(buffer,Thisboynameiss,name);执行某些操作后获取age值intage29;lensprintf(bufferlen,andageisd,age);printf(s,bufferlengthisd,buffer,len);执行结果: ThisboynameisSteveandageis29,bufferlengthis14 总结:通过对sprintf返回值长度判断,确保下一次格式化调用的缓存区指针指向正确的位置