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