C++基础:文件操作函数fopen()和fclose()

发布时间:2024年01月20日

1.fopen()

fopen函数用于打开一个文件,并返回一个文件指针,该指针可以用于后续的文件操作。其定义如下:

FILE *fopen(const char *filename, const char *mode);

其中,filename为要打开的文件的名称,可使用绝对地址或相对地址表示;mode为文件打开模式,主要包括:
? r:以只读方式打开文件。文件必须存在;

? w:以只写方式打开文件。如果文件不存在,则创建一个新文件;如果文件存在,则删除其内容;

? a:以追加模式打开文件。如果文件不存在,则创建一个新文件;如果文件存在,则在文件末尾添加内容;

? r+:以读写方式打开文件。文件必须存在;

? w+:以读写方式打开文件。如果文件不存在,则创建一个新文件;如果文件存在,则删除其内容;

? a+:以读写方式打开文件。如果文件不存在,则创建一个新文件;如果文件存在,则在文件末尾添加内容。

若函数执行成功,则返回一个指向该文件的指针;若执行失败,则返回NULL。

2.fclose()

fclose函数用于关闭已打开文件.其定义如下:

int fclose(FILE *stream);

其中,stream为要关闭的文件的指针,该指针是由fopen函数返回的。

若函数执行成功,则返回0;若失败,则返回EOF。

3.举例

写一个 用于打开一个文件并读取其内容的代码:

#include <stdio.h>  // 引入标准输入输出库,用于文件操作和打印输出  
  
int main(){  // 主函数入口  
    FILE * file_ = fopen("/home/zhouweiqing/14/src/aa.txt","r");  // 使用fopen函数打开文件,文件路径为"/home/zhouweiqing/14/src/aa.txt",模式为只读("r")  
  
    if(file_ == NULL) {  // 如果文件打开失败,file_指针将为NULL  
        perror("打开失败");  // 打印错误信息,提示"打开失败"  
    }  
  
    char buffer[1024];  // 定义一个字符数组,用于存储从文件中读取的内容,最大长度为1024  
    while (fgets(buffer, sizeof(buffer), file_)) {  // 使用fgets函数从文件中读取内容,每次最多读取sizeof(buffer)个字符,直到文件结束或读取到换行符、EOF等  
        printf("%s", buffer);  // 打印从文件中读取的内容  
    }    
  
    fclose(file_);  // 使用fclose函数关闭已打开的文件  
}

运行得到结果:

可以看到成功读取到hello!

文章来源:https://blog.csdn.net/shnhe/article/details/135611909
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。