C++内核格式化

 

内核格式化:
    头文件ssstrem定义了一个从ostream类派生而来的ostingstream类
    (还有一个基于wostream的wostringstream类,这个类用于宽字集)
    如果创建一个ostringstream的对象,则可以将信息写入其中,它将储存这些信息。
    可以将可以用于cout的方法用于ostringstream对象
 
    可以执行下面操作:
    ostringstream outstr;
    double price=380.0;
    char* ps =" for a copy of the  ISO/EIC C++ standard";
    outstr<<fixed;
    outstr<<"Play only CHF"<<price<<ps<<endl;
 
案例:
    #include<iostream>
    #include<sstream>
    #include<string>
    using namespace std;
    int main()
    {
        ostringstream outstr;
        string hdisk;
        cout << "What's the name of your disk?";
        getline(cin, hdisk);
        int cap;
        cout << "What's its cappacity in GB?";
        cin >> cap;
        outstr << "The hard disk " << hdisk << " has a capacity of "
            << cap << " gigabytes.\n";
        string result = outstr.str();
        cout << result;
        return 0;
    }
 
 
    istingstream类允许使用istream 方法族获取 istingstream 对象中的数据
    istingstream对象可以使用string对象进行初始化
 
    string facts;
    istingstream instr(facts);
    可以使用istream 方法读取instr中的数据。
    int n;
    int sum=0;
    while(instr>>n)
    {
        sum+=n;
    }
 
使用重载的>>运算符读取字符串中的内容,每次读取一个单词;
    #include<iostream>
    #include<sstream>
    #include<string>
    using namespace std;
    int main()
    {
        string lit="It was a  dark and stormy day,and the full moon glowed brilliantly.";
        istingstream instr(lit);
        string word;
        while(instr>>word)
        {
            cout<<word<<endl;
        }
        return 0;
    }

 

posted @ 2016-01-22 21:40  ShadowInk  阅读(502)  评论(0编辑  收藏  举报