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