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;
}

最新文章

  1. mysql 5.7 忘记root密码解决方法
  2. springMVC使用与生成序列号
  3. jQuery回调函数
  4. Minimum Inversion Number
  5. 【转】Maven实战(一)---Maven Build--缺少Jar包
  6. POJ2418——Hardwood Species(map映射)
  7. 使用Doxygen工具生成Cocos2D-x 2.1.0文档
  8. mysql查看表大小
  9. hadoop学习视频
  10. angr进阶(2)C++程序的处理
  11. Eclipse 运行导入的 Java 项目时,Error:A JNI error has occurred
  12. 团队合作one
  13. python 代码求阶乘
  14. Redis的使用(待更新)
  15. [源码]underscore-1.8.3
  16. Sql 中存储过程详细案例
  17. BZOJ 4706: B君的多边形 找规律
  18. SpringMVC multipart文件上传
  19. Homebrew替换源
  20. Redis is loading the dataset in memory

热门文章

  1. key_t键和ftok函数
  2. Maintainable JavaScript(编写可维护的JavaScript) PART I Style Guidelines
  3. MSSQLSERVER数据库- 解决不允许保存更改表结构
  4. JDK之jstat的用法
  5. JavaWeb国际化
  6. Android之AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
  7. Android基本功:Handler消息传送机制
  8. 我的Android开发相关文章
  9. stack计算表达式的值
  10. 如何编译libcurl