C++如何格式化字符串,超简单实现C++格式化字符串功能

7750 人浏览 | 时间: 2015-08-11 13:40:19 | 作者: codexia 会员文章,禁止转载

    在C++中使用格式化字符串,真是头疼。似乎都没有找到合适的方法。想想C语言的格式化,很好用。用MFC的,CString非常方便。然而一直以来,使用C++来做这个,都一次次的放弃了。有人建议使用Boost。不过,没学过Boost的,不是也很汗颜吗?

#include  <sstream>
using namespace std;
void myfun(string str)
{
    cout<<str;
}
void main()
{
    int i=100;
    ostringstream ostr;
    ostr << "i的值是:" << i<<",谢谢。";
    string str = ostr.str();
    myfun(str);
}
     我们定义了一个函数myfun,然后输出str这个字符串。但是你想将i的值格式化后在输出,所以要先格式化字符串。我们创建了string输出流对象ostr,然后使用重载的<<操作符将需要输出的东西输出到对象ostr对象中,然后就可以调用ostr的成员函数str()将格式化好的字符串返回给str就行了。
    这样C++的格式化字符串,比起C语言的或者MFC的,更加灵活,你不用管类型格式化符,<<直接搞定。使用都和cout一样简单。只是大家很少接触ostringstream而已,以为不能格式化字符串一样,其实用起来很爽了。
当前文章为会员文章,请前往[用户中心]开通会员后继续阅读。

相关阅读