xunwap

专注移动互联网服务

正在浏览 C++ 里的文章

上一篇讲到了如何使用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;
}

本站原创文章,转载请注明出处。

一本德国人编写的Boost教程,内容精炼且浅湿易懂。
这本Boost教程集中讲解了Boost中的以下类库:

智能指针(Smart Pointers);
函数对象(Function Objects);
事件处理(Event Handling);
字符串操作(String Handling);
多线程(Multithreading);
异步输入输出(Asynchronous Input and Output);
进程间通信(Interprocess Communication);
文件系统(Filesystem);
日期和时间(Date and Time);
序列化(Serialization);
解析器(Parser);
容器(Container);
数据结构(Data Structures);
错误处理(Error Handling);
类型转换运算符(Cast Operators);

此书中对于每个类库的使用都有详细的说明并有对应的使用实例,对于Boost初学者是一本不可多得的教程;对于Boost老手也是一本不错的查阅资料。

下载:  Boost教程

本站原创文章,转载请注明出处。