18-文件操作




18-文件操作

18-文件操作

 

18.1 文本文件


程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放

通过 文件可以将数据持久化

C++ 中堆文件操作需要包含头文件 <fstream>

 

文件类型分为两种:

  1. 文本文件 :文件以文本的 ASCII码 形式存储在计算机中

  2. 二进制文件 :文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们

 

操作文件的三大类:

  1. ofstream :写操作

  2. ifstream :读操作

  3. fstream :读写操作

 

18.1.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 二进制方式

 

示例

运行

在项目目录中找到写入的文件

默认目录为当前项目的运行目录

 

总结:

  • 文件操作必须包含头文件 fstream

  • 读文件可以利用 ofstream 、或者 fstream

  • 打开文件时候需要指定操作文件的路径,以及打开方式

  • 利用 << 可以向文件中写数据

  • 操作完毕,要关闭文件

 

18.1.2 读文件

 

读文件与写文件步骤相似,但是读取方式相对于比较多

 

读文件步骤如下:

  1. 包含头文件

    #include <fstream>

  2. 创建流对象

    ifstream ifs;

  3. 打开文件并判断文件是否打开成功

    ifs.open("文件路径","打开方式");

  4. 读数据

    四种读取方式

  5. 关闭文件

    ifs.close();

 

示例

运行

总结:

  • 读文件可以利用 ifstream,或者 fstream

  • 利用 if_open 函数可以判断文件是否打开成功

  • close 关闭文件

 

18.2 二进制文件


以二进制的方式对文件进行读写操作

打开方式要指定为 ios::binary

 

18.2.1 写文件

二进制方式写文件主要利用流对象调用成员函数 write

函数原型:ostream& write(const char * buffer,int len);

参数解释:字符指针 buffer 指向内存中一段存储空间,len 是读写的字节数

 

示例

运行

18.2.2 读文件

二进制方式读文件主要利用流对象调用成员函数 read

函数原型:istream& read(char *buffer, int len);

参数解释:字符指针 buffer 指向内存中一段存储空间,len 是读写的字节数

 

示例

运行

 

  • 文件输入流对象 可以通过 read 函数,以二进制方式读数据


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇