C++文件操作 |
您所在的位置:网站首页 › cvi文件操作头文件 › C++文件操作 |
一、前言:
在C++里,文件操作是通过流来完成的。C++总共有输入文件流、输出文件流和输入输出文件流3种,并已将它们标准化。C++中对文件操作需要包含头文件 < fstream > C++中文件类型分为两种: 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们 操作文件的三大类(这些类都属于标准模板库): ofstream(output):写入文件操作 ifstream(input): 读取数据操作 fstream : 读写操作。一般使用这个类进行文本操作 这3种类型都定义在头文件 fstream 里,这 3 个文件流类的继承关系,如图 1所示。 文件操作简单来说就是分三步:打开文件、进行读/写操作、关闭文件,而这些操作大多是通过一系列函数实现的 打开文件前我们首先创建流对象,然后用流对象引用其他函数。 第一步:打开文件:1.文件打开函数open() void open(const char* szFileName, int mode) 第一个参数是文件名 文件名可以是全路径的,如c:\\tmp\\test.txt, 指明文件在 c 盘的 tmp 文件夹中;也可以只给出文件名,如第test1.txt,这种情况下程序会在你程序所在文件夹中寻找要打开的文件。需要注意的是,在 Windows 操作系统中,文件路径中的反斜杠(\)需要使用两个来进行转义(\)-第二个参数是文件打开方式 open函数其实还有第三个参数,但是在大多情况下我们并不用写,第三个参数是个数值,不写默认是读/写普通文件打开 文件读/写分为文本文件和二进制文件的读/写,读写也分为顺序读写和随机读写。 1.写文本文件(输出操作)将程序内部数据的值存储到磁盘文件中。因此写入文本文件被称为输出操作。 步骤: 1.包含头文件 #include 2.创建流对象 ofstream ofs; 3.打开文件 ofs.open(“文件路径”,打开方式); 4.写数据 ofs cout cout cout cout CStudent s; ofstream outFile("students.dat", ios::out | ios::binary); while (cin >> s.szName >> s.age) outFile.write((char*)&s, sizeof(s)); outFile.close(); return 0; } 4.读二进制文件(输出操作) 1.使用read()函数 istream & read(char* buffer, int count);和write函数一样,buffer 用于指定读取字节的起始位置,count 指定读取字节的个数。同样,该方法也会返回一个调用该方法的对象的引用。 我们将 3 个学生的信息存储到了 students.dat 文件中,下面程序演示了如何使用 read() 方法将它们读取出来: #include #include using namespace std; class CStudent { public: char szName[20]; int age; }; int main() { CStudent s; ifstream inFile("students.dat",ios::in|ios::binary); //二进制读方式打开 if(!inFile) { cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |