std::string stringf(const char* format, ...)
2024-10-18 23:34:12
std::string stringf(const char* format, ...)
{
va_list arg_list;
va_start(arg_list, format);
// SUSv2 version doesn't work for buf NULL/size 0, so try printing
// into a small buffer that avoids the double-rendering and alloca path too...
char short_buf[256];
const size_t needed = vsnprintf(short_buf, sizeof short_buf,
format, arg_list) + 1;
if (needed <= sizeof short_buf)
return short_buf;
// need more space...
char* p = static_cast<char*>(alloca(needed));
vsnprintf(p, needed, format, arg_list);
return p;
}
最新文章
- mysql 5.7 忘记root密码解决方法
- springMVC使用与生成序列号
- jQuery回调函数
- Minimum Inversion Number
- 【转】Maven实战(一)---Maven Build--缺少Jar包
- POJ2418——Hardwood Species(map映射)
- 使用Doxygen工具生成Cocos2D-x 2.1.0文档
- mysql查看表大小
- hadoop学习视频
- angr进阶(2)C++程序的处理
- Eclipse 运行导入的 Java 项目时,Error:A JNI error has occurred
- 团队合作one
- python 代码求阶乘
- Redis的使用(待更新)
- [源码]underscore-1.8.3
- Sql 中存储过程详细案例
- BZOJ 4706: B君的多边形 找规律
- SpringMVC multipart文件上传
- Homebrew替换源
- Redis is loading the dataset in memory