#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;
}