admin 管理员组

文章数量: 1184232


2024年3月27日发(作者:oracle财务操作手册)

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我

们要认识的I/O文件,stream这个类有两个重要的运算符:

1、插入器(<<)

向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显

示器,所以,cout<<"Write Stdout"<<'n';就表示把字符串"Write Stdout"和换行字符('n')

输出到标准输出流。

2、析取器(>>)

从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键

盘,所以,cin>>x;就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。

在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所

以,要用这种方式操作文件,就必须加入头文件fstream.h。下面就把此类的文件操作过

程一一道来。

一、打开文件

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

void open(const char* filename,int mode,int access);

参数:

filename: 要打开的文件名

mode: 要打开文件的方式

access: 打开文件的属性

打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下:

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

ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性

ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前

ios::in: 文件以输入方式打开

ios::out: 文件以输出方式打开

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

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

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

可以用“或”把以上属性连接起来,如ios::out|ios::binary


本文标签: 文件 打开 方式 输入 输出