文章目录
文件
- 定义:文件一般指存储在外部介质上数据的集合
- 文件三要素:文件路径、文件名、后缀
文件路径:绝对路径:D:\lee\lee.txt
相对路径:默认的当前路径 - 预定义标准流
- stdin 与标准输入流有关的FILE*类型表达式
- stdout 与标准输出流有关的FILE*类型表达式
- stderr 与标准错误输出流有关的FILE*类型表达式
流
把所抽象出的“标准逻辑设备”或“标准文件”称作 “流”
把任意I/O设备转换成逻辑意义上的标准I/O设备或标准文件的过程,并不需要程序设计这感知和处理,是由标准I/O系统自动转换完成的。任意输入的源端和任意输出的终端均对应一个“流”。
- 按流的方向分:输入流和输出流 从文件获取数据的流称为输入流,向文件输出数据称为输出流
- 流按数据形式分:文本流和二进制流,文本流是ASCII码字符序列,二进制流是字节序列
文本文件与二进制文件的区别(数据的组织形式)
文本文件(字符文件、ASCII文件):把需要存储的数据当成一系列字符组成,把每个字符的ASCII码存入文件中每个ASCII码值占一个字节,每个字节表示一个字符。
二进制文件:把数据对应的二进制形式存储到文件中,是字节序列文件
- 流是一种抽象的概念,负责在数据的产生者和数据的使用者之间建立联系,管理数据的流动
文件操作
打开文件
fopen返回值:文件打开成功,返回文件对应的FILE类型指针,打开失败,返回NULL
fopen_s返回值:文件打开成功返回0,打开失败返回非0
FILE* fopen(const char* filename,const char* mode);
//filename:文件名,包括路径,不显示路径,则表示当前路径
//mode:文件打开模式,对文件可进行的操作。
errno_t fopen_s(FILE** pFile, const char *filename,const char *mode);
//
mode:
读写文件
格式化写入函数 fprintf
int fprintf(FILE* stream,const char* format,...);
int main()
{
FILE* fd;
int ar[] = {
12,23,34,54,56,67,78,89,90,100 };
int n = sizeof(ar) / sizeof(ar[0]);
int err = fopen_s(&fd,"D://VS Workplace//test.txt","a");
if (0 != err)
{
cout << "open file err" << endl;
<