STL - stream

#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;

void fstream_test()
{
    ifstream fin("stream_test.cpp");
    if(!fin) {
        cout<<"open file fail!"<<endl;
        return;
    }
    string line;
    while(getline(fin, line)) {
        cout<<line<<endl;
    }
    string word;
    while(fin>>word) {
        cout<<word<<endl;
    }
    char buf[10];
    while(fin.read(buf, 10)) {
        cout<<buf<<endl;
    }
    char ch;
    while(fin.get(ch)) {
        cout<<ch<<endl;
    }
    fin.close();
    
    ofstream fout("stream_test.log");
    if(!fout) {
        cout<<"open file fail!"<<endl;
        return;
    }
    for(int i=0; i<10; ++i) {
        fout<<"test"<<i<<endl;
    }
    fout.close();
}

void sstream_test()
{
    stringstream ss;
    string str;
    ss<<"just a test "<<2013<<"!";
    cout<<ss.str()<<endl;
    while(ss>>str) {
        cout<<str<<endl;
    }
    cout<<ss.str()<<endl;
}

int main(int argc, char* argv[])
{
    //fstream_test();
    //sstream_test();
    stringstream ss1;
    ss1<<"just a test "<<2013<<"!";
    const char* str1 = ss1.str().c_str(); //str()返回的是临时对象

    stringstream ss2;
    ss2<<"just a test "<<2013<<"???";
    const char* str2 = ss2.str().c_str();

    cout<<str1<<endl;
    cout<<str2<<endl;
    return 0;
}

 

posted @ 2013-09-23 16:10  Leung文  阅读(303)  评论(0编辑  收藏  举报