C++文件操作 - 写操作
一、什么是文件
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。
一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。
一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别,这是从文件的功能进行分类的。
从数据存储的角度来说,所有的文件本质上都是一样的,都是由一个个字节组成的,归根到底都是0、1比特串。不同的文件呈现出不同的形态(有的是文本,有的是视频等等),这主要是文件的创建者和解释者(使用文件的软件)约定好了文件格式。所谓“格式”,就是关于文件中每一部分的内容代表什么含义的一种约定。例如,常见的纯文本文件(也叫文本文件,扩展名通常是“.txt”),指的是能够在Windows 的“记事本”程序中打开,并且能看出是一段有意义的文字的文件。
二、文本文件操作
C++中文件操作类型有两种:文本文件和二进制文件;
文本文件是由字符的ASCII码值的形式存储;二进制文件是由二进制数据形式存储。
三、文件输出操作流程
1.包含头文件<fstream>,如:#include<fstream>;
2.对象的建构:
文件操作的类有三种:
ofstream--只写、ifstream--只读、fstream--可读可写。我们随后根据需要创建一个对象:例如输出流对象ofs的创建 ofstream ofs;
四、打开文件操作
1、打开文件的操作是使用函数open
open() 函数是 fstream、ifstream 和 ofstream 对象的一个成员。
2、语法
void open(const char *filename, ios::openmode mode);
其中filename代表打开文件的路径/文件名,第二个参数代表打开文件的方式。各种打开方式见下表:
3、可以通过按位或操作符**|**来定义多种打开文件模式
ofstream outfile;
outfile.open("file.dat", ios::in | ios::trunc );
五、写文件操作
1、写入文件的操作:对象名+ << +内容
在C++ 编程中,我们使用流提取运算符( >> )从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里您使用的是 ifstream 或 fstream 对象,而不是 cin 对象。示例代码如下:
ofstream ofs;
ofs.open("test.txt", ios::app);
//写文件操作
ofs<<"1111"<<endl;
六、文件关闭操作
1、关闭入文件的操作:对象名.close();
当 C++ 程序终止时,它会自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件。但程序员应该养成一个好习惯,在程序终止前关闭所有打开的文件。
下面是 close()函数的标准语法,close()函数是fstream、ifstream 和 ofstream 对象的一个成员。
ofstream ofs;
ofs.open("test.txt", ios::app);
//写文件操作
ofs<<"1111"<<endl;
//关闭文件操作
ofs.close();
七、文件写入整体操作示例
#include <iostream>
#include <fstream>
using namespace std;
//文件基础操作
int main(){
//定义文件操作对象
ofstream ofs;
ofs.open("test.txt", ios::app);
//写文件操作
ofs<<"1111"<<endl;
ofs<<"2222"<<endl;
ofs<<"3333"<<endl;
ofs<<"4444"<<endl; ofs.close();//关闭打开的文件 return 0;
}