(转)C++标准库 之 iostream库的学习笔记(二)fstream库以及ofstream类的使用
来源:互联网 发布:a 寻路算法 js 编辑:程序博客网 时间:2024/06/05 00:17
iostream库不仅支持终端设备的输入输出,还支持文件的输入输出,和文件有关的输入输出类声明在fstream头文件中,有三个类负责文件的输入输出
1) ifstream类:从istream类派生。
2) ofstream类:从ostream类派生。
3) fstream类:从iostream类派生。
由于文件的输入输出和键盘鼠标的输入输出是不一样的,一般pc机只有一个键盘设备,所以iostream库内部声明了一个istream类的对象cin,这个对象负责从键盘获取数据,而文件设备在系统中是由许多的,所以iostream库内部无法给你为机器的每个文件都创建一个负责获取数据的ifstream对象和负责写入数据的ofstream对象,所以我们要针对一个文件进行读取或写入数据的时候都要自己创建一个ifstream或ostream类的对象来用。
ofstream类的默认构造函数如下:
ofstream::ofstream(const char* filename, int mode = ios::out, int openport = filebuf::openport);
filename是要打开的文件名,
mode是打开的方式,
openport是打开文件的属性。
mode可以设置的方式如下:
ios::app 以追加的方式打开
ios::ate 文件打开后定位到文件尾
ios::binary 以二进制方式打开文件,默认是以文本方式打开
ios::in 文件以读(输入)方式打开
ios::out 文件以写(输出)方式打开
ios::trunc 如果文件存在,则把文件清空。
以上属性用“|”(按位或)连接起来。
openprot属性如下:
0 普通文件
1 只读文件
2 隐含文件
4 系统文件
以上属性可以用加或者按位或方式组织起来,比如1|2和3都代表既是只读又是隐含文件。
在windows操作系统中可以不要第三个参数,如果加入第三个参数,那第三个参数是打开文件的共享方式,也就是打开这个文件时,其他进程是否可以读写该文件。
共享方式参数可以是下面的值:
0x10 //_SH_DENYRW Denies read and write access to the file
0x20 //_SH_DENYWR Denies write access to the file
0x30 //_SH_DENYRD Denies read access to the file.
0x40 //_SH_DENYNO Permits read and write access
其他值都会报 "Invalid sharing flag "的错误。
ofstream hFile("c://1.txt", ios::out, _SH_DENYRW); // _SH_DENYRW is deny read and write
if (!hFile) // if the file could open, hFile is a handle, else is zero
{
cout << "write fail!" << endl;
cout << "access is denies,maybe the file is
readonlys,or use deny read opened of other process." << endl;
}
else
{
hFile << "by coderlee writes";
cout << "write success!" << endl;
}
hFile.close(); // opened file need close.
上面是写文件的事例代码,先打开文件,然后判断是不是0,如果是0,则提示write fail否则写文件,提示write success.
- (转)C++标准库 之 iostream库的学习笔记(二)fstream库以及ofstream类的使用
- C++标准库 之 iostream库的学习笔记
- C++标准库 之 iostream库的学习笔记(三) ifstream类的使用和介绍
- C++标准IO库(iostream,fstream,sstream)
- C++ 标准IO库 iostream,fstream,sstream
- C++标准IO库(iostream,fstream,sstream)
- C++的iostream标准库之istringstream
- C++语法基础--标准IO库--文件的输入和输出(fstream,ifstream,ofstream)
- C++的iostream标准库介绍+使用详解(转)
- C++的iostream标准库介绍+使用详解(转)
- C++的iostream标准库介绍+使用详解(转)
- fstream ifstream ofstream的使用
- C标准库的学习笔记(二)
- C++标准I/O库:iostream, fstream, sstringstream
- C++ 标准IO库 - 文件流操作【ifstream ofstream fstream】
- 【C++常识】C++的iostream标准库介绍 (转)
- C++的iostream标准库介绍---之stringstream
- C++的iostream标准库介绍和使用详解
- 内容管理系统(CMS)的设计和选型
- 实现操作系统所需的基本工具
- 在使用FreeTextBox.dll等这些插件时,遇见request响应出现JavaScript与html字符串发生危险性
- 家用计算机安全设置宝典
- 摘抄:关于亚健康
- (转)C++标准库 之 iostream库的学习笔记(二)fstream库以及ofstream类的使用
- 梦红楼
- dbm数据库源代码分析(4):头文件部分(续)
- 最是那一低头的温柔
- 人生=欲望?
- 你是我生命中的一缕光
- vim的会话保存功能
- Ajax实现注册用户名验证
- 我执--->地狱?