文件操作(c语言)

为什么使用文件?
文件是计算机中存储数据的重要手段之一。在编程中,使用文件的主要原因包括:

持久化存储:将数据保存在文件中,即使程序关闭或计算机重启,数据也不会丢失。
数据共享:多个程序或用户可以通过文件来共享数据。
减少内存占用:对于大量数据,存储在文件中比存储在内存中更加高效。
什么是文件?
文件是存储在外部存储介质(如硬盘、光盘等)上的数据的集合,这些数据通常具有特定的格式和结构。

程序文件与数据文件
程序文件:包含程序源代码的文件,如 .c、.cpp、.py 等。
数据文件:存储程序所需数据的文件,可以是文本文件、二进制文件等。
文件名
文件名是文件的唯一标识,由字母、数字、下划线等组成,通常还包含文件扩展名(如 .txt、.bin)。

二进制文件与文本文件
二进制文件:以二进制形式存储数据的文件,数据在文件中的表示形式与其在内存中的表示形式相同。
文本文件:以字符(通常是ASCII或Unicode字符)形式存储数据的文件,人类可以直接阅读。
文件的打开与关闭
在C语言中,使用文件前需要先打开文件,使用完毕后需要关闭文件。

流和标准流
在C语言中,文件是通过“流”(stream)来处理的。标准流包括标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。

文件指针
FILE * 是C语言中用于表示文件的指针类型。

文件的打开
使用 fopen 函数打开文件:

FILE *fp = fopen("filename.txt", "r");

其中,"filename.txt" 是文件名,"r" 是打开模式(只读)。

文件的关闭
使用 fclose 函数关闭文件:

fclose(fp);

文件的顺序读写
顺序读写是按照文件中数据的存储顺序进行读写。

文件的顺序读写函数
写入:fputc、fputs、fwrite
读取:fgetc、fgets、fread
示例代码

// 写入文件
FILE *fp = fopen("example.txt", "w");
if (fp != NULL) {
    fputs("Hello, World!", fp);
    fclose(fp);
}

// 读取文件
FILE *fp = fopen("example.txt", "r");
if (fp != NULL) {
    char ch;
    while ((ch = fgetc(fp)) != EOF) {
        putchar(ch);
    }
    fclose(fp);
}

文件的随机读写
随机读写允许直接访问文件中的任意位置。这通常需要使用 fseek 函数来设置文件位置指针,并使用 ftell 函数来获取当前位置。

文件读取结束的判定
在读取文件时,通常使用 EOF(End Of File)来判定文件是否读取结束。EOF 是一个特殊的常量,表示文件结束的标志。

文件缓冲区
文件缓冲区是内存中的一个区域,用于缓存从文件读取或写入文件的数据。使用缓冲区可以提高文件操作的效率。在C语言中,文件操作通常是缓冲的,这意味着数据在写入文件之前先被写入缓冲区,当缓冲区满或文件被关闭时,数据才会被实际写入文件。同样地,当从文件读取数据时,数据首先被读取到缓冲区中,然后再从缓冲区中读取数据给程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值