文件操作

文件操作

懒得写了,贴个网址出来留着以后看【C语言】《带你学C带你飞》(小甲鱼),顺便为小甲鱼良心视频打 call

包括:

  • 文件是什么
  • 打开和关闭文件
  • 顺序读写文件
  • 读写单个资格
    • 读写单个字符
    • 读写整个字符串
    • 格式化读写文件
    • 二进制读写文件
  • 随机读写文件

fopen 函数文档

函数概要:

fopen 函数用于打开一个文件并返回文件指针

函数原型:

#include <stdio.h>
...
FILE *fopen(const char *path, const char *mode);

参数解析:
在这里插入图片描述
返回值:

  1. 如果文件打开成功,则返回一个指向 FILE 结构的文件指针

  2. 如果文件打开失败,则返回 NULL 并设置 errno 为指定的错误

备注:

  1. path 参数可以是相对路径(…/fishc.txt)也可以是绝对路径(/home/FishC/fishc.txt),如果只给出文件名而不包含路径,则表示该文件在当前文件夹中

  2. 从本质上来说,文本文件也是属于二进制文件的,只不过它存放的是相应的字符编码值

  3. 打开方式要区分文本模式和二进制模式的原因,主要是因为换行符的问题。C 语言用 \n 表示换行符,Unix 系统用 \n,Windows 系统用 \r\n,Mac 系统则用 \r。如果在 Windows 系统上以文本模式打开一个文件,从文件读到的 \r\n 将会自动转换成 \n,而写入文件则将 \n 替换为 \r\n。但如果以二进制模式打开则不会做这样的转换。Unix 系统的换行符跟 C 语言是一致的,所以不管以文本模式打开还是二进制模式打开,结果都是一样的

演示:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        FILE *fp;
        int ch;

        if ((fp = fopen("hello.txt", "r")) == NULL)
        {
                printf("打开文件失败!\n");
                exit(EXIT_FAILURE);
        }

        while ((ch = getc(fp)) != EOF)
        {
                putchar(ch);
        }

        fclose(fp);

        return 0;
}

fclose 函数文档

函数概要:

fclose 函数用于关闭先前由 fopen 函数打开的文件

fclose 函数会将缓冲区内的数据写入文件中,并释放系统所提供的文件资源

函数原型:

#include <stdio.h>
...
int fclose(FILE *fp);

参数解析:
在这里插入图片描述
返回值:

  1. 如果文件关闭成功,返回值是 0

  2. 如果文件关闭失败,返回值是 EOF,并设置 errno 为指定的错误

备注:

  1. 磁盘已满、设备出错或者 I/O 错误均可能导致 fclose 函数调用失败

标准流

标准流 包括:标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr)

继续贴网址【C语言】《带你学C带你飞》(小甲鱼)

包括:

  • 标准流
    • 标准输入、标准输出、标准错误输出
    • 重定向
    • 错误处理

I/O缓冲区

标准I/O提供了三种类型的缓冲模式:按块缓冲、按行缓冲和不缓冲

继续贴网址【C语言】《带你学C带你飞》(小甲鱼)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值