• C语言必会15个文件函数


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

    功能:以指定格式打开文件

    参数解析
    filename文件名
    mode以指定格式打开文件
    返回值:FILE指针,打开失败返回NULL

    mode的参数:

    文件使用方法含义如果指定文件不存在
    r只读以读模式打开已经存在文本文件
    w只写以写模式打开文本文件,
    a追加以写模式打开文件,向现有文本文件尾添加数据
    rb只读为了输入数据,打开一个二进制文件
    wb只写为了输出数据,打开一个二进制文件
    ab追加向一个二进制文件尾添加数据
    r+读写为了读和写,打开一个文本文件
    w+读写为了读和写
    a+读写打开一个文件,在文件尾进行读写

    int fclose ( FILE * stream );

    **功能:**关闭文件

    返回值:如果流成功关闭,则返回零值。失败时,返回EOF(-1)。

    int feof ( FILE * stream );

    **功能:**检测文件指针是否到达文件末端

    参数解析
    stream文件指针
    **返回值 :**检测文件指针到文件末端时,会返回非零值,未到文件末端时返回0

    void exit (int status);

    功能: 关闭所有打开的文件并结束程序

    status解析
    0或者 EXIT_SUCCESS表示程序结束正常
    1或者EXIT_FAILURE表示结束程序失败

    int fseek ( FILE * stream, long int offset, int origin );

    **功能:**重新定位文件指针的位置
    **例如:**fseek(fp, 0L, SEEK_END); //定位在文件末尾(以文件末尾为基准偏移0个单位)文件起始点模式

    参数解析
    stream文件指针
    offset偏移量
    origin定位指针的位置

    origin参数

    origin偏移量的起始点
    SEEK_SET文件开始处
    SEEK_CUR当前位置
    SEEK_END文件末尾

    **返回值:如果成功,该函数返回零。否则,它返回非零值。如果发生读取或写入错误,则会设置错误指示符( ferror )。

    由于这些函数较为简单这里做了一个表格

    功能函数原型作用返回值
    字符输入函数int fgetc( FILE * stream)返回文件指针所指向的字符,然后文件指针向后偏移成功时,返回读取的字符(提升为int值)。
    字符输出函数int fputc ( int character, FILE * stream );将这个字符写入到文件指针所指向的位置,然后文件指针向后偏移成功时,返回写入的字符。如果发生写入错误,则返回EOF并设置错误指示符(ferror)。
    文本行输入函数char * fgets ( char * str, int num, FILE * stream );从文件指针开始向str字符串中拷贝num个字符,并返回这段字符。(如遇到文件尾则立刻停止)成功时,该函数返回str。
    文本行输出函数int fputs ( const char * str, FILE * stream );向文件中写入一个str字符串成功写入文件指针向后偏移写入失败返回EOF 成功时,返回一个非负值。出错时,该函数返回EOF并设置错误指示符( ferror )。
    格式化输入函数int fscanf(FILE *stream, const char *format, …)从文件指针开始按照指定格式给变量赋值,然后文件指针向后偏移成功时,该函数返回成功填充的参数列表的项目数。
    格式化输出函数int fprintf(FILE *stream, const char *format, …)向文件中写入指定格式的数据成功时,返回写入的字符总数

    size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

    功能: 二进制输入
    从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。

    参数解析
    ptr这是指向带有最小尺寸 size*count字节的内存块的指针。
    size这是要读取的每个元素的大小,以字节为单位。
    count这是元素的个数,每个元素的大小为 size 字节。
    stream文件指针。
    **返回值:**返回成功读取的元素总数。

    size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

    功能: 二进制输出
    从流中 读取count 个元素的数组,每个元素的大小为size字节,并将它们存储在ptr指定的内存块中。 流的位置指示器提前读取的总字节数。 如果成功,读取的总字节数为(size*count)。

    参数解析
    ptr这是指向带有最小尺寸 size*count字节的内存块的指针。
    size这是要读取的每个元素的大小,以字节为单位。
    count这是元素的个数,每个元素的大小为 size 字节。
    stream文件指针。
    **返回值:**返回成功写入的元素总数。

    void rewind ( FILE * stream );

    **功能:**文件指针回到文件开始处

    long int ftell ( FILE * stream );

    功能: 获得文件指针当前位置相对于文件首的字节数
    返回值: 该函数返回位置标识符的当前值。如果发生错误,则返回 -1L,全局变量 errno 被设置为一个正值。

  • 相关阅读:
    node的下载,安装与配置
    【Linux】进程终止
    STM32:时钟树原理概要
    C语言指针基础篇
    小谈设计模式(18)—适配器模式
    【网络世界】网络基础概念
    Vue.js新手指南:从零开始建立你的第一个应用
    IU酒店落子重庆,数山城美景
    visual studio 2017安装完成后,编译c++项目失败,提示E696,无法打开ctype.h errno.h float.h stdio.h
    Pytorch 的基本概念和使用场景介绍
  • 原文地址:https://blog.csdn.net/qq_45254369/article/details/126023788