小甲鱼 P56 打开和关闭文件
在完成对一个文件的读写操作之后,你必须将其关闭。
fopen 函数用于打开一个文件并返回文件指针
FILE *fopen(const char *path, const char *mode)
path:指定待打开的文件路径和文件名(支持相对路径,绝对路径),如果只给出文件名而不包含路径,则表示该文件在当前文件
夹中
mode:打开模式。只读"r"、只写"w"(如果已存在,则会被覆盖)、追加"a"、读写"r+"、读写"w+",操作对象二进制文件"b"
返回值:
1、如果文件打开成功,则返回一个指向FILE结构的文件指针
2、如果文件打开失败,则返回NULL并设置errno为指定的错误
EOF:end of file,是一个宏定义,通常是-1,表示文件结束。
当对一个文件完成读写操作之后,请务必调用fclose函数来关闭,因为只有调用fclose函数,系统才会将缓冲区内的数据写入文件中。PS:读取、打开一个文件 或者 往一个文件写入数据,并不是直接来的,中间有一个缓冲区。只有关闭,系统才会将缓冲区里面的数据写入文件,并且释放该文件的资源。
#include <stdio.h>
#include <stdlib.h>//exit
int main(void)
{
FILE *fp;
int ch;
if ((fp = fopen("hello.txt", "r")) == NULL)
{
printf("打开文件失败!\n");
exit(EXIT_FAILURE);
}
while ((ch = getc(fp))!= EOF)
{
putchar(ch);
}
fclose(fp);
return 0;
}