C++11 格式化字符串format

xingyun86 22天前 46

C++11 格式化字符串format

   template <typename ...Args>
   static std::string format_string(const char* format, Args... args) {
       char buffer[BUFSIZ] = {0};
       size_t newlen = snprintf(buffer, BUFSIZ, format, args...);
       if (newlen > BUFSIZ)
       {
           std::vector<char> newbuffer(newlen + 1);
           snprintf(newbuffer.data(), newlen, format, args...);
           return std::string(newbuffer.data());
       }
       return buffer;
   }

用法:

std::string text = format_string("%.0f%%", 12.0f);
std::cout << text << std::endl;


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回