文件操作 偏执的太偏执、 2022-12-27 11:26 149阅读 0赞 一、文件操作。 1、为什么要学习文件操作? 程序运行时产生的数据属于临时数据,程序一旦运行结束都会释放了。 通过文件可以将数据持久化。 C++中对文件操作需要包含头文件<fstream> 2、文件类型。 一共两种。 1)文本文件。 文件以文本的ASCII码形式储存在计算中。 2)二进制文件。 文件以文本的二进制形式储存在计算机中,用户一般不能直接读懂它们。 3、操作文件。 1)ofstream: 写操作 2)ifstream: 读操作 3)fstream: 读写操作 二、文本文件。 -- 写文件。 1、写文件的步骤: 1)包含头文件。 \#include <fstream> 2)创建流对象。 ofstream ofs; 3)打开文件。 ofs.open("文件路径",打开方式); 4)写入数据 ofs << "写入的数据"; 5)关闭文件 ofs.close(); 三、打开方式有哪些? ios::in 为读文件而打开文件 ios::out 为写文件而打开文件 ios::ate 初始位置:文件尾 ios::app 追加方式写文件 ios::trunc 如果文件存在先删除,再创建 ios::binary 二进制方式 注意:文件打开方式可以配合使用,利用|操作符 例如:用二进制方式写文件 ios::binary | ios::out \#include <iostream> \#include <fstream> using namespace std; //文本文件写文件 int main() \{ //1. 包含头文件 fstream //2. 创建流对象 ofstream ofs; //3. 指定打开方式 ofs.open("test.txt",ios::out); //4. 写数据 ofs << "姓名:张三" << endl; ofs << "性别:男" << endl; ofs << "年龄:18" << endl; //5. 关闭文件 ofs.close(); return 0; \} 结果: 在当前的路径下创建了一个新文件,叫test.txt。 内容: 姓名:张三 性别:男 年龄:18 三、文本文件 --- 读文件。 读文件与写文件的步骤相似,但是读取的方式相对于写而言,就多很多。 读文件步骤如下: 1. 包含头文件 \#include <fstream> 2. 创建流对象 ifstream ifs; 3. 打开文件指定打开方式。 ifs.open("文件路径","打开方式"); 4. 读取数据 四种方式读取。 5. 关闭文件。 ifs.close(); \#include <iostream> \#include <fstream> using namespace std; //文本文件 -- 读文件 int main() \{ //1. 包含头文件 fstream //2. 创建流对象 ifstream ifs; //3. 打开文件,并且判断一下是否打开成功。 ifs.open("test.txt",ios::in); if( !ifs.is\_open() ) \{ cout << "文件打开失败!" << endl; return 0; \} //4. 读数据 //第一种 /\* char buf\[1024\] = \{0\}; while( ifs >> buf ) \{ cout << buf << endl; \} \*/ //第二种 /\* char buf\[1024\] = \{0\}; while( ifs.getline(buf,sizeof(buf)) ) \{ cout << buf << endl; \} \*/ //第三种 /\* string buf; while( getline(ifs,buf) ) \{ cout << buf << endl; \} \*/ //第四种 char c; while( (c = ifs.get()) != EOF ) // EOF: end of file \{ cout << c; \} //5. 关闭文件。 ifs.close(); return 0; \} 四、二进制文件。 --- 写文件。 以二进制方式对文件进行读写操作。 打开方式要指定: ios::binary 二进制方式写文件主要利用流对象调用成员函数write 函数原型:ostream& write(const char \*buffer,int len); 参数: buffer: 字符指针,指向一段内存中储存空间。 len: 是读写的字节数。 \#include <iostream> \#include <fstream> using namespace std; class Person\{ public: char m\_Name\[64\]; //姓名 int m\_Age; //年龄 \}; int main() \{ //1. 包含头文件 //2. 创建流对象 //ofstream ofs; ofstream ofs("person.txt",ios::out | ios::binary); //3. 打开文件,二进制文件打开。 //ofs.open("person.txt",ios::out | ios::binary); //4. 写数据 Person p = \{"张三",18\}; ofs.write( (const char \*)&p , sizeof(Person) ); //5. 关闭文件 ofs.close(); return 0; \} 五、二进制文件 --- 读文件。 二进制方式读取文件主要利用流对象调用成员函数read 函数原型: istream& read(char \*buffer,int len); 参数分析: buffer: 字符指针 指向内存中一段储存空间。 len: 是读写的字节数。 \#include <iostream> \#include <fstream> using namespace std; class Person\{ public: char m\_Name\[64\]; //姓名 int m\_Age; //年龄 \}; int main() \{ //1. 包含头文件 //2. 创建流对象 ifstream ifs; //3. 打开文件 ifs.open("person.txt",ios::in | ios::binary); if( !ifs.is\_open() ) \{ cout << "文件打开失败" << endl; \} //4. 读文件 Person p; ifs.read( (char \*)&p , sizeof(Person) ); cout << "姓名: " << p.m\_Name << " 年龄: " << p.m\_Age << endl; //5. 关闭文件 ifs.close(); return 0; \}
相关 文件操作 一、文件操作。 1、为什么要学习文件操作? 程序运行时产生的数据属于临时数据,程序一旦运行结束都会释放了。 通过文件可以将数据持久化。 C++中对文件操作需要包 偏执的太偏执、/ 2022年12月27日 11:26/ 0 赞/ 150 阅读
相关 文件操作 注意下面代码所产生的问题。 这一段是读文件,没有什么问题。 define _CRT_SECURE_NO_WARNINGS include<stdio.h> 喜欢ヅ旅行/ 2022年07月19日 02:38/ 0 赞/ 229 阅读
相关 文件操作 1.系统调用 所谓系统调用,是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。 2.文件描述符 文 短命女/ 2022年07月16日 10:44/ 0 赞/ 250 阅读
相关 文件操作 在文件打印三个hello,每打印一个换一行 include <stdio.h> include <stdlib.h> includ 怼烎@/ 2022年07月12日 23:49/ 0 赞/ 399 阅读
相关 文件操作 能调用方法的一定是对象 打开文件的模式有: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 曾经终败给现在/ 2022年05月21日 06:53/ 0 赞/ 284 阅读
相关 文件操作 能调用方法的一定是对象 打开文件的模式有: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 r,只读模 深碍√TFBOYSˉ_/ 2022年05月20日 01:24/ 0 赞/ 277 阅读
相关 文件操作 include <cstdio> include <cstdlib> include <conio.h> int main() { 不念不忘少年蓝@/ 2022年01月28日 12:31/ 0 赞/ 320 阅读
相关 文件操作 1. r模式 1.1 全部读取 我们先来建一个文件,放到D盘根目录下,文件内容如图 ![1542801-20181227153807057-383845746.p 青旅半醒/ 2022年01月07日 04:05/ 0 赞/ 436 阅读
相关 文件操作 计算机文件:硬盘中一块储存空间(虚拟的文件) 文件操作:根据文件名来操作硬盘的那块存储空间,操作方式为 读read,写write 文件的模式: r: 读 Bertha 。/ 2022年01月07日 01:21/ 0 赞/ 322 阅读
相关 文件操作 1.文件操作初识 操作文件的方式: f = open("文件路径","mode="模式",encoding = "编码) open: 调用操作系统打开文件. mod 灰太狼/ 2021年10月19日 12:14/ 0 赞/ 383 阅读
还没有评论,来说两句吧...