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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章