C 语言文件处理

2025 年 3 月 28 日 | 阅读 4 分钟

在编程中,我们可能需要多次生成一些特定的输入数据。有时,仅仅在控制台上显示数据是不够的。要显示的数据可能非常大,而控制台只能显示有限的数据量,而且由于内存是易失的,程序生成的数据不可能一次又一次地恢复。然而,如果我们需要这样做,我们可以将其存储到本地文件系统,它是易失的并且每次都可以访问。因此,C 语言中需要文件处理。

C 语言中的文件处理使我们能够通过 C 程序创建、更新、读取和删除存储在本地文件系统上的文件。可以在文件上执行以下操作:

  • 创建新文件
  • 打开现有文件
  • 从文件中读取
  • 写入文件
  • 删除文件

文件处理函数

C 库中有许多函数用于打开、读取、写入、搜索和关闭文件。文件函数列表如下:

编号。函数描述
1fopen()打开新文件或现有文件
2fprintf()将数据写入文件
3fscanf()从文件中读取数据
4fputc()将字符写入文件
5fgetc()从文件中读取字符
6fclose()关闭文件
7fseek()将文件指针设置到给定位置
8fputw()将整数写入文件
9fgetw()从文件中读取整数
10ftell()返回当前位置
11rewind()将文件指针设置到文件开头

打开文件:fopen()

文件在读、写或更新之前必须先打开。fopen() 函数用于打开文件。fopen() 的语法如下。

fopen() 函数接受两个参数:

  • 文件名(字符串)。如果文件存储在特定位置,则必须指明文件存储的路径。例如,文件名可以是 "c://some_folder/some_file.ext"
  • 文件打开模式。这是一个字符串。

我们可以在 fopen() 函数中使用以下模式之一:

众数描述
r以读取模式打开文本文件
w以写入模式打开文本文件
a以追加模式打开文本文件
r+以读写模式打开文本文件
w+以读写模式打开文本文件
a+以读写模式打开文本文件
rb以读取模式打开二进制文件
wb以写入模式打开二进制文件
ab以追加模式打开二进制文件
rb+以读写模式打开二进制文件
wb+以读写模式打开二进制文件
ab+以读写模式打开二进制文件

fopen 函数以以下方式工作:

  • 首先,它搜索要打开的文件。
  • 然后,它将文件从磁盘加载到缓冲区。缓冲区用于提高读取操作的效率。
  • 它设置一个字符指针,该指针指向文件的第一个字符。

考虑以下以写入模式打开文件的示例:

示例

编译并运行

输出

文件内容将被打印。

#include;
void main( )
{
FILE *fp; // file pointer
char ch; 
fp = fopen("file_handle.c","r");
while ( 1 )
{
ch = fgetc ( fp ); //Each character of the file is read and stored in the character file.  
if ( ch == EOF )
break;
printf("%c",ch);
}
fclose (fp );
}

关闭文件:fclose()

fclose() 函数用于关闭文件。在对文件执行所有操作后,必须关闭文件。fclose() 函数的语法如下:


C 语言中的 fprintf() 和 fscanf()

C 语言中的 fprintf() 和 fscanf() 示例

C 语言中的 fputc() 和 fgetc()

C 语言中的 fputc() 和 fgetc() 示例

C 语言中的 fputs() 和 fgets()

C 语言中的 fputs() 和 fgets() 示例

C 语言 fseek()

C 语言中的 fseek() 示例