上一篇讲到了如何使用Boost.format来将数值类型转化为字符串,觉得还是有必要把C++标准库中所支持的用stringstream来格式化字符串的方法介绍一下,毕竟并不是所有的人都热衷于使用Boost库(尽管事实上Boost确实是一个高质量的类库),同时,即使愿意使用Boost类库,但是仅仅因为格式化字符串这一件小事而刻意去使用Boost类库可能并不太合适。这个时候我们可以考虑C++标准库中的字符串与数值的转化方式,也即是: std::stringstream。使用方法也很简单直接,基本上使用方法类似于使用std::cout,std::cin。
下面是一个简单的示例:
#include <cstdio> #include <sstream> int main( int argc , char *argv[] ) { std::stringstream inputStream( "1234.123" ); double dValue = 0.0; inputStream >> dValue; printf( "%f\n" , dValue ); std::stringstream outputStream; outputStream << 123456; printf( "%s\n" , outputStream.str().c_str() ); return 0; }
本站原创文章,转载请注明出处。