前言:文件的基本操作可以分为open/read/write/close,万变不离其宗,在不同平台下,这些操作的原理都是相同的,只不过在具体实现时会有参数形式的区分。文件操作也是面试中常考的内容,在C++中用面向对象设计的思维,文件系统是如何实现的,这一次进行一下系统的梳理。
1. 打开文件操作
public member function
void open ( const char * filename,
ios_base::openmode mode = ios_base::in | ios_base::out );
void open(const wchar_t *_Filename,
ios_base::openmode mode= ios_base::in | ios_base::out,
int prot = ios_base::_Openprot);
(可以看出,C++库里的open函数是没有返回值的,与linux下的文件系统不同。)
在定义成员函数时,采用默认的方式进行。
- ios::in (input)
- ios::out (Output)
- ios::ate (At The End)
- ios::app (append附加方式,将指针移至文件结尾)
- ios::trunc (如果文件已存在,则先删除文件)
ios::binary(以二进制方式打开)
读文件read
- 写文件write
- 关闭文件close