C语言文件读写常用函数

文件读写:
文件的分类:
文本文件:储存的是ASCII码的二进制 ‘2’ ‘5’ ‘5’
二进制文件:储存的是数据的补码 11111111

文件IO:
    FILE *fopen(const char *path, const char *mode);
    功能:打开或者创建文件
    path:文件路径
    mode:打开模式
        r:以只读权限打开文件,如果文件不存在则打开失败
        r+:在r的基础上加入写权限
        w:以只写权限打开文件,如果文件存在则清空写入,如果文件不存在则创建。 
        w+:在w的基础上加入读权限
        a:以只写权限打开文件,如果文件存在则在末尾追加写入,如果文件不存在则创建
        a+:在a的基础上加入读权限

    返回值:结构指针,不需要关心它的成员,只需要知道它是操作文件的凭证,也叫文件指针。

二进制方式读写:
size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE *stream);
功能:把内存中的数据写入到文件中
ptr:内存的地址
size:一次写入size字节
nmemb:写入多少次
stream:文件指针,fopen的返回值
返回值:成功写入的次数

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:从文件中读取数据到内存中
ptr:内存的地址
size:一次读取size个字节
nmemb:读取多少次
stream:文件指针,fopen的返回值
返回值:成功读取的次数

文本方式读写:
int fprintf(FILE *stream, const char *format, ...);
功能:以文本形式写入数据到文件中
stream: 文件指针,fopen的返回值
format: 写入的内容、占位符
...:    变量名
返回值:成功写入的字节数

int fscanf(FILE *stream, const char *format, ...);
功能:从文件中以文本形式读取数据到变量中
stream: 文件指针,fopen的返回值
format: 要读取的内容、占位符
...:    变量的地址
返回值:成功读取的变量的个数

int fclose(FILE *fp);
功能:关闭文件
   
文件位置指针:
    每打开一个文件都会有一个指针记录着要操作的位置,它会随着读写函数的执行而移动,r、r+、w、w+打开时位置指针都在文件的开头,以a\a+方式打开时位置指针在末尾。
    
    如果想要随机读取文件的任何位置的数据,需要手动设置文件的位置指针。

    int fseek(FILE *stream, long offset, int whence);
    功能:设置文件位置指针的位置
    stream:文件指针,fopen的返回值
    offset:偏移值
    whence:基础位置
            SEEK_SET:文件开头
            SEEK_CUR:当前位置
            SEEK_END:文件末尾
    返回值:成功返回0,失败返回-1

    void rewind(FILE *stream);
    功能:把文件位置指针设置到开头

    long ftell(FILE *stream);
    功能:获取文件位置指针的位置
    返回值:第几个字节

文件相关的函数:
    int feof(FILE *stream);
    功能:检查文件位置是否到达末尾
    返回值:文件末尾返回非零值

    char *fgets(char *s, int size, FILE *stream)
    功能:从文件中读取一行字符串

    int fputs(const char *s, FILE *stream);
    功能:写入一个字符串到文件中,会自动添加一个\n
    返回值:成功写入的字符个数

    int fgetc(FILE *stream);
    功能:从文件中读取一个字符

    int fputc(int c, FILE *stream);
    功能:写入一个字符到文件

    int remove(const char *pathname);
    功能:删除文件
    返回值:成功返回0 失败返回-1

    int  rename(const char  *oldpath, const char *new‐path);
    功能:重命名文件
    返回值:成功返回0 失败返回-1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值