IO库

来源:互联网 发布:知乎app图标 编辑:程序博客网 时间:2024/05/22 06:32


    (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创建未绑定文件流fstrmfstream 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;创建未绑定的stringstreamsstream strm(s);strm绑定到string sstrm.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;





0 0