文件
文件读写
链接
std::ifstream---std::ofstream
头文件--#include <fstream>
执行都是类,用这些类操作文件都要建立对象流。
1,建立对象流
流对象的建立有两种方式:
(1)使用fstream类可以不指定文件和文件打开方式,后面用open函数指定:
fstream fs;
(2)利用ifstream和ofstream建立流对象时直接指定文件
ifstream ifs(path)
ofstream ofs(path)
ifstream和ofstream已经指定文件打开方式,只需要指定文件路径即可。
ifstream和ofstream也可以像fstream一样操作。
ifstream和ofstream函数原型
2,文件打开
fs.open(path,mode,access)
access一般为0
3,写文件和读文件
从文件读出:
ifstream----可以从文件(磁盘)读取数据到内存
写入文件:
ofstream----可以将内存的数据写入文件(磁盘)
无论是输入还是输出,对象都是内存。
输入输入到内存,输出输出到内存。
4,关闭文件
ifs.close()
流从成员函数
链接1
链接2
成员函数 | 作用 |
Open() | |
close() | |
read() | |
write() | |
seekg(pos) | 直接指定文件指针需要放置的位置 |
seekg(offset,pos) | 让文件指针从pos指定的位置向前或者向后移动offset个位置,offset为正数向后,offset为负数向前。 |
write()覆盖问题
覆盖是清楚之前的所有数据再写入新数据,即使写入的数据比之前的少,之前的数据也不会存在。
同一个流对象多次write不会覆盖,而是追加方式写入。
但是如果同一个文件多次打开写入,那么前面写入的数据会被后面写入的数据覆盖。
文件指针---FILE
文件指针基本知识
本质上就是一个结构体;
特点:
1,刚开始打开一个文件时,文件指针位于文件头部,也就是只想文件的第一个位置;
判断文件是否存在和文件权限
access---链接