学习标准C语言day12

1.文件的分类:

    文本文件:是人能看得懂的文件,存储的是字符符号的ASCII码的二进制 '2' '5' '5'

    二进制文件:存储的是数据的补码二进制

    255     1111 1111

2.文件IO:

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

    功能:打开或创建文件

    path:文件的路径

    mode:打开模式

        r   以只读权限打开文件,文件不存在则失败  //返回NULL

        r+  在r的基础上增加写权限

        w   以只写权限打开文件,文件不存在则创建,存在则清空打开

        w+  在w的基础上增加读权限

        a   以只写权限打开文件,文件不存在则创建,存在则追加打开,新写入的数据在文件末尾添加

        a+  在a的基础上增加读权限

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

3.二进制方式读写文件:

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

    功能:把一段内存数据写入到文件中

    ptr:待写入的内存首地址

    size:一次写入的字节数

    nmemb:写入多少次

    stream:文件指针,fopen的返回值

    返回值:成功写入的次数

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

    功能:从文件中读取数据到内存中

    ptr:把文件中的数据读到该内存

    size:一次读多少字节

    nmemb:读多少次

    stream:文件指针,从该文件读取

    返回值:成功读取的次数

4.以文本方式读写:

    int fprintf(FILE *stream, const char *format, ...);

    功能:以文本形式写入数据到文件中

    stream:要写入的文件

    format:"提示信息+占位符"

    ...:变量名列表

    返回值:成功写入的字符数

    int fscanf(FILE *stream, const char *format, ...);

    功能:从文件中读取数据到变量中

    stream:要读取的文件

    format:"提示信息+占位符"

    ...:变量地址列表

    返回值:成功读取的变量个数

    int fclose(FILE *stream);

    功能:关闭文件

    注意:文件读写有有缓冲区机制,想要立即写入,需要关闭文件后才能看到

5.文件位置指针:

    每个打开的文件都有一个指针记录这读写操作的位置,它会随着读写函数的执行而自动移动,所以以r、r+、w、w+方式打开文件位置指针默认在文件开头,以a、a+方式打开文件位置指针默认在文件末尾

    平时顺序读写时不用关注位置指针,当需要随意读写文件时可以通过手动设置文件指针的位置来进行

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

    功能:设置文件位置指针的位置

    stream:要设置的文件

    offset:偏移值   1是往前 -1是往后

    whence:基础位置

        SEEK_SET    文件开头

        SEEK_CUR    当前位置

        SEEK_END    文件末尾

    返回值:成功返回0,失败返回-1  

    void rewind(FILE *stream);

    功能:把文件位置指针设置到文件开头

    long ftell(FILE *stream);

    功能:获取文件位置指针的位置

    返回值:位置指针在第几字节

    char *fgets(char *s, int size, FILE *stream);

    功能:从文件中读取一行长度为size-1的字符串到s

    int fputs(const char *s, FILE *stream);

    功能:写入一个字符串到文件中,会自动在末尾添加 '\n'

    返回值:成功写入的字符个数

    int remove(const char *pathname);

    功能:删除文件

    pathname:建议写绝对路径

    返回值:成功返回0,失败返回-1

    int rename(const char *oldpath, const char *newpath);

    功能:重命名文件

    返回值:成功返回0,失败返回-1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值