fstream,sstream的学习记录

fstream:

#include<iostream>

#include<fstream>
using namespace std;
int main(){
    ofstream os("C:\\Users\\Administrator\\Desktop\\ifile.txt",ios::app);
//查看位置处是否有ifile.txt,若没有,程序自己建一个
//其中ios::app表示在原文件末尾追加 
string str;
while(getline(cin,str)){//getline(cin,str)是为了string读入空格键 
os<<str<<endl;
} 
cin.clear();//使cin可用 
os.close(); 
ifstream in("C:\\Users\\Administrator\\Desktop\\ifile.txt");
while(getline(in,str)){//从in中读入一整行(包括空格)到str中 
cout<<str<<endl;
}
return 0;
}

sstream:

#include<iostream>
#include<fstream>
#include<sstream> 
using namespace std;
int main(){
string s="hello world";
string word;
istringstream is(s);//用s来初始化is;
while(is>>word){//将is中的单词一个一个读入word中,经过while内容处理 
word[0]=toupper(word[0]);//使首字母大写; 
cout<<word<<" "; 
}
    ostringstream os;
    string str; 
    while(cin>>str){//不停读入str,只碰到终止符Ctrl+z 
    os<<str<<endl;//将str内容读入os中,换行符也可读入 
}
    cout<<os.str();//os.str()返回os所保存的string拷贝值 
return 0;
} 

综合 运用:文本处理(处理每一个单词)

#include<iostream>
#include<fstream>
#include<sstream>
using namespace std;
int main(){
    ofstream os("C:\\Users\\Administrator\\Desktop\\ifile.txt",ios::app); 
string str;
while(getline(cin,str)){
os<<str<<endl;
} 
cin.clear(); 
ifstream in("C:\\Users\\Administrator\\Desktop\\ifile.txt");
string line,word;
while(getline(in,line)){//line读入in中的每一行 
istringstream is(line);
    while(is>>word){//word读入line中每一个单词 
word[0]=toupper(word[0]);//使首字母大写; 
cout<<word<<" "; 
}
}
return 0;
}

  

 

 

posted @ 2017-12-18 10:35  A-Little-Nut  阅读(508)  评论(0编辑  收藏  举报