【C 语言】文件操作 ( fopen 文件打开方式详解 )(一)

简介: 【C 语言】文件操作 ( fopen 文件打开方式详解 )(一)

文章目录

一、fopen 函数

二、fopen 函数文件打开方式详解

1、r

2、r+

3、rb+

4、rb+ 与 r+ 对比

5、rw+

6、w

7、w+

8、a

9、a+

三、文件打开方式总结





一、fopen 函数


fopen 函数用于打开文件 , 函数原型如下 ;


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

const char *filename 参数 : 文件名 ;


const char *mode 参数 : 文件的打开方式 ;






二、fopen 函数文件打开方式详解




1、r


r : 以只读方式打开 , 文件必须存在 ;


如果文件存在 , 则 文件打开成功 ;

如果文件不存在 , 返回的 FILE *p 为 NULL ;

通过判定 FILE* 类型的返回值是否为 NULL , 可以判断文件是否打开成功 , 文件不存在 , 权限不足 , 等都会导致文件打开失败 ;


#include <stdio.h>
int main()
{
    // 以 r 方式打开文件
    FILE *p = fopen("D:\\a.txt", "r");
    if(p == NULL)
    {
        printf("File Open Failed !\n");
    }else
    {
        printf("File Open Success !\n");
        // 如果打开成功 , 则需要关闭文件
        fclose(p);
    }
    printf("Main End\n");
    return 0;
}


文件存在 , 则打开成功 ;

image.png


文件不存在则打开失败 ;



image.png



2、r+


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


如果文件存在 , 则 文件打开成功 ;

如果文件不存在 , 返回的 FILE *p 为 NULL ;


类似于 r , 凡是与 r 相关的 , 文件必须存在 ;




3、rb+


rb+ : 以 读写的方式 打开 二进制文件 ; 文件必须存在 ;


如果文件存在 , 则 文件打开成功 ;

如果文件不存在 , 返回的 FILE *p 为 NULL ;


目录
相关文章
|
24天前
|
存储 C语言
【c语言】玩转文件操作
本文介绍了C语言中文件操作的基础知识,包括文件的打开和关闭、文件的顺序读写、文件的随机读写以及文件读取结束的判定。详细讲解了`fopen`、`fclose`、`fseek`、`ftell`、`rewind`等函数的使用方法,并通过示例代码展示了如何进行文件的读写操作。最后,还介绍了如何判断文件读取结束的原因,帮助读者更好地理解和应用文件操作技术。
31 2
|
29天前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
29天前
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
1月前
|
存储 C语言
C语言文件操作(2)
【10月更文挑战第2天】
|
1月前
|
程序员 编译器 C语言
C语言底层知识------文件操作
本文详细介绍了文件操作的基本概念,包括文件的分类(程序文件和数据文件,其中着重于数据文件的文本文件和二进制文件),流的概念及其在C程序中的应用,以及标准输入输出流stdin、stdout和stderr的作用。作者通过示例展示了如何使用fopen、fclose和常见的读写函数如fgetc、fputc和fgets进行文件操作。
22 2
|
1月前
|
存储 缓存 编译器
文件操作——C语言
文件操作——C语言
|
1月前
|
存储 C语言
简述C语言文件操作
简述C语言文件操作
11 0
|
1月前
|
存储 文件存储 C语言
深入C语言:文件操作实现局外影响程序
深入C语言:文件操作实现局外影响程序
|
1月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
34 3
|
10天前
|
C语言
c语言调用的函数的声明
被调用的函数的声明: 一个函数调用另一个函数需具备的条件: 首先被调用的函数必须是已经存在的函数,即头文件中存在或已经定义过; 如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。 如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。 如果被调用的函数定义出现在主调函数之前可以不必声明。 如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明
27 6