IO库


    (w)istream   (w)ifstream   (w)istringstream继承关系  
    (w)ostream    (w)ofstream  (w)ostringstream继承关系  继承关系可以将继承类当做基类使用
    (w)iostream   (w)fstream  (w)stringstream继承关系

     IO对象不能拷贝,且有各种条件状态( 
  strm::badbit failbit eofbit goodbit (strm为IO类型)),刷新缓冲区也是很重要的事情。 
 

2.文件输入输出

ifstream从给定文件读取数据 
ofstream向给定文件写数据
</pre><pre code_snippet_id="1627296" snippet_file_name="blog_20160329_8_4520356" name="code" class="cpp">fstream fstrm创建未绑定文件流fstrm
fstream fstrm(s)创建文件流fstrm,绑定到s代表的文件,s可以为string类型或c语言字符串指针
fstream fstrm(s,mode)与前一个构造函数类似,但是按照mode模式绑定到s代表的文件
fstrm.open(s),绑定到s代表的文件 
fstrm.close(),关闭与fstrm绑定的文件
fstrm.is_open(),返回bool,指出与strm关联的文件是否打开

例子:
ifstream in("test.txt");  //等价语句ifstream in;  in.open("test.txt");默认以只读方式打开
string str;  
if(in)
in>>str;//将test.txt文件中的数据输入给str变量
in.close;

例子:
ostream out;//未指定打开模式
out.open("test.txt")//模式隐含设置为输出和截断
out.close();
out.open("test.txt",ofstream::app)//追加模式代开
out<<"www";//将www写入文件

3.stream流

sstream strm;创建未绑定的stringstream
sstream strm(s);strm绑定到string s
strm.str()返回strm所保存的string拷贝
strm.str(s)将string s拷贝到strm

string s="www.baidu.com";
istringstream record(s);
char c;
record>>c;


ostringstream record;
string c="www";
record<<c;
cout<<record.str()<<endl;





你可能感兴趣的:(IO库)