C++中文件操作基础详解

📅 2026/6/17 15:32:18
C++中文件操作基础详解
文件操作意义利用文件操作可以保存我们程序运行的信息是持久化技术的体现文件分类按文件类型分为1、文本文件 - 文件以文本的ASCII码形式存储在计算机中2、二进制文件 - 文件以文本的二进制形式存储在计算机中按类分为ofstream类写操作ifstream类 读操作fstream类 读写操作文本文件写文件五个步骤1.引入头文件1#include fstream2.创建流对象ofstream 对象名;3.打开文件对象名.open(“文件路径”,打开方式);4.写数据对象名 “待写入的数据”;5.关闭文件对象名.close();文件打开方式打开方式用法ios::in为读文件而打开文件ios::out为写文件而打开文件ios::ate初始位置文件尾ios::app追加方式写文件ios::trunc如果文件存在先删除再创建ios::binary二进制方式注意 文件打开方式可以利用 | 操作符配合使用例如用二进制方式写文件 ios::binary | ios:: out代码示例123456789101112131415161718#includeiostream#includefstreamusingnamespacestd;//写文件操作voidtest(){ofstream file;file.open(myFirstFile.txt, ios::out);file 姓名叶落秋白 endl;file 年龄繁华的18岁 endl;file 爱好码字 endl;file.close();}intmain(void){test();return0;}按照顺序先引入头文件fstream创建写文件类对象file然后就是调用open函数设置打开方式为写文件并保存文件路径为myFirstFile.txt这里直接写文本文件名称的话该文件会自动生成到该项目路径下。接下来用左移运算符写入内容这里文件也支持endl可以自动换行最后调用close函数关闭保存文件。运行效果读文件读文件与写文件步骤相似但是读取方式相对于比较多读文件步骤如下1.引入头文件1#include fstream2.创建流对象ifstream 对象名;3.打开文件并判断文件是否打开成功对象名.open(“文件路径”,打开方式);4.读数据四种方式读取5.关闭文件对象名.close();代码示例123456789101112131415161718192021222324252627282930313233343536373839404142434445#includeiostream#includefstream#includestringusingnamespacestd;//读文件voidreadFile(){ifstream file;file.open(myFirstFile.txt,ios::in);if(!file.is_open()){cout 文件打开失败请检查文件路径!endl;return;}//1、charbuffer[1024];while(file buffer){cout buffer endl;}//2、charbuffer[1024];while(file.getline(buffer,sizeof(buffer))){cout buffer endl;}//3、string buffer;while(getline(file, buffer)){cout buffer endl;}//4、charc;while((c file.get()) ! EOF){cout c ;}file.close();}intmain(void){readFile();return0;}读文件和写文件相比多用了一个判断函数is_open作用是成功打开指定的文件会返回True。所以我加了个判断语句如果没有打开就提示然后return结束读文件操作。后面就是读文件的四种操作第一种操作是定义一个字符型的数组利用右移运算符将file对象的文件内容加到该数组内然后利用cout语句输出。第二种是调用成员函数getline第一个形参是字符型数组地址第二个参数是数组长度利用sizeof计算即可然后输出数组内容。第三种操作是利用字符串型这时候要引入string头文件。然后利用全局的getline函数第一个形参传入对象名第二个形参传入字符串然后打印字符串完成读文件操作。第四种不常用也不推荐使用利用单个字符来获取文件内容并打印效率很低。file的get函数可以得到文件内容然后依次赋值给c。最后读文件结束记得加上调用close函数关闭文件。运行效果二进制文件以二进制的方式对文件进行读写操作打开方式要指定为 ios::binary可以存储结构体对象成员等数据