首页 > 编程知识 正文

snprintf_s函数的用法,printf函数源码

时间:2023-05-05 01:43:34 阅读:169658 作者:2575

这个方法有几个优点:

1、通过检测vsnprintf的返回值,在buffer不够大的情况下重新分配空间,得到按需分配,不浪费空间

2、thread_local

)1)每个线程都有一个独立的实例,线程安全

)2)初始化(而不是赋值)确保编译器只调用一次初始化

)3)确保静态限定(默认自动添加)相同的线程内复用,不需要多次分配

void__cdecltest(constchar*fmt,) static thread _ local STD 33603360 string buf (1024,0 ); buf.clear (; do {va_list ap; VA_start(AP,fmt ); intret=vsnprintf((char* ) buf.data )、buf.capacity )、fmt和ap ); va_end(AP; ret buf.capacity () (/bufferistoosmallbuf.resize ) ret 16,0; 连续; }break; (while ) 1; STD : coutbufstd : endl; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。