总结:ofstream和ifstream用法

来源:互联网 发布:手机绘图软件 戒指 编辑:程序博客网 时间:2024/06/03 14:49

ofstream是从内存到硬盘,ifstream是从硬盘到内存。

函数说明:

1、打开文件在fstream类中,成员函数open(),就是用来打开文件的,其原型是: 

     void open(const char* filename,int mode,int access);//filename:要打开的文件名;     mode: 要打开文件的方式;     access:打开文件的属性打开文件的方式在类ios(是所有流式I/O类的基类)中定义,包括:

1.1    ios::app:以追加的方式打开文件

    ios::ate:文件打开后定位到文件尾,

    ios:app就包含有此属性

    ios::binary:以二进制方式打开文件,缺省的方式是文本方式。

    ios::in:    文件以输入方式打开(文件数据输入到内存)

    ios::out: 文件以输出方式打开(内存数据输出到文件)

    ios::nocreate: 不建立文件,所以文件不存在时打开失败

    ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败

    ios::trunc:  如果文件存在,把文件长度设为0 

    可以用“或”把以上属性连接起来,

    如ios::out|ios::binary

 1.2  打开文件的属性取值是: 0:普通文件,打开访问 

   1:只读文件

    2:隐含文件 

    4:系统文件

可以用“或”或者“+”把以上属性连接起来,如3或1|2就是以只读和隐含属性打开文件。

 1.3 例如:以二进制输入方式打开文件c:/config.sys fstream file1; file1.open("c://config.sys",ios::binary|ios::in,0); 

       如果open函数只有文件名一个参数,则是以读/写普通文件打开,即:

        file1.open("c://config.sys"); <=> file1.open("c://config.sys",ios::in|ios::out,0);  

        fstream有两个子类:

              ifstream(input file stream)和ofstream(outpu file stream),

    ifstream默认以输入方式打开文件,而ofstream默认以输出方式打开文件。

             ifstream file2("c://pdos.def");//以输入方式打开文件

             ofstream file3("c://x.123");//以输出方式打开文件

2   关闭文件打开的文件使用完成后一定要关闭,fstream提供了成员函数close()来完成此操作,如:file1.close();就把file1相连的文件关闭。

3    读写文件读写文件分为文本文件和二进制文件的读取,对于文本文件的读取比较简单,用插入器和析取器就可以了;而对于二进制的读取就要复杂些。

  这种方式还有一种简单的格式化能力,比如可以指定输出为16进制等等,具体的格式有以下一些

操纵符 功能 输入/输出

dec 格式化为十进制数值数据 输入和输出

endl 输出一个换行符并刷新此流 输出

ends 输出一个空字符 输出

hex 格式化为十六进制数值数据 输入和输出

oct 格式化为八进制数值数据 输入和输出

setpxecision(int p) 设置浮点数的精度位数 输出

  比如要把123当作十六进制输出:file1<<hex<<123;要把3.1415926以5位精度输出:file1<<setpxecision(5)<<3.1415926。
以上参考:http://panpan.blog.51cto.com/489034/101625/


原创粉丝点击