13.3文件的打开与关闭 文件操作的过程:对磁盘文件的操作必须“先打开,后读写,最后关 闭 “打开”文件的含义:以某种方式从磁盘上查找指定的文件或创建一个 新文件,相关函数 I fopen() R4: FILE* fopen (const char * filename, const char *mode) filename:文件名(可以包含逻辑驱动器、路径、文件名、扩展名) mode:打开方式 FILE*:返回值为FILE类型指针 如: FILE *fp; p= fopen (file1"r"); 如果成功打开,返回一个指向被打开文件的文件信息区的起始地址; 如果打开失败,返回一个NUL指针
13.3 文件的打开与关闭 文件操作的过程:对磁盘文件的操作必须“先打开,后读写,最后关 闭”。 “打开”文件的含义:以某种方式从磁盘上查找指定的文件或创建一个 新文件,相关函数fopen()。 原型:FILE * fopen(const char *filename,const char *mode) filename: 文件名(可以包含逻辑驱动器、路径、文件名、扩展名) mode: 打开方式 FILE *:返回值为FILE类型指针 如: FILE *fp; fp = fopen("file1","r"); 如果成功打开,返回一个指向被打开文件的文件信息区的起始地址; 如果打开失败,返回一个NULL指针
文件打开方式 文件打开方式含义 "r"(只读) 为输入打开一个文本文件 W"(只写) 为输出打开一个文本文件 "a"(追加) 为追加打开一个文本文件 "rb"(只读) 为输入打开一个二进制文件 L"wb"(只写 为输出打开一个二进制文件 "ab"(追加) 为追加打开一个二进制文件 "r+"(读写) 为读/写打开一个文本文件 "W+"(读写) 为读/写创建一个文本文件 "a+"(读写) 为读/写打开一个文本文件 "rb+"(读写) 为读/写打开一个二进制文件 Wb+"(读写) 为读/写创建一个二进制文件 ab+"(读写) 为读/写打开一个二进制文件
文件打开方式 含义 "r"(只读) 为输入打开一个文本文件 "w"(只写) 为输出打开一个文本文件 "a"(追加) 为追加打开一个文本文件 "rb"(只读) 为输入打开一个二进制文件 "wb"(只写) 为输出打开一个二进制文件 "ab"(追加) 为追加打开一个二进制文件 "r+"(读写) 为读/写打开一个文本文件 "w+"(读写) 为读/写创建一个文本文件 "a+"(读写) 为读/写打开一个文本文件 "rb+"(读写) 为读/写打开一个二进制文件 "wb+"(读写) 为读/写创建一个二进制文件 "ab+"(读写) 为读/写打开一个二进制文件 文件打开方式
说明: 1、打开文件的方式,必须与文件的属性兼容。例如,不能以"W"和 "a"方式打开具有“只读”属性的文件。但可以以任何方式打开“隐 藏”属性文件。 2、DOS/ Windows中,无“只写”文件属性,一个文件可写,同时 意味着可读。 3、用带"r"的方式("r"、"rb"、"r+"、"rb+")打开文件时,若文 件不存在,则返回NUL指针。一般用以下方式检查是否成功打开 FILE fp; if ((fp=fopen (file1"r )==NULL) { printf("cannot open this file\n") exit(o); exit(0)是程序返回操作系统
说明: 1、打开文件的方式,必须与文件的属性兼容。例如,不能以"w"和 "a"方式打开具有“只读”属性的文件。但可以以任何方式打开“隐 藏”属性文件。 2、DOS/Windows中,无“只写”文件属性,一个文件可写,同时 意味着可读。 3、用带"r"的方式("r"、"rb"、"r+"、"rb+")打开文件时,若文 件不存在,则返回NULL指针。一般用以下方式检查是否成功打开: FILE *fp; if ((fp=fopen("file1", "r")) = =NULL ) { printf("cannot open this file\n"); exit(0); } exit(0)是程序返回操作系统