C语言文件处理
在编程中,我们可能需要一些特定的输入数据才能生成多次。有时仅在控制台上显示数据是不够的。要显示的数据可能非常大,并且只能在控制台上显示有限数量的数据,并且由于内存易失,因此不可能一次又一次地恢复以编程方式生成的数据。但是,如果需要这样做,我们可以将其存储在易失性的本地文件系统中,并且每次都可以访问。这就需要使用C语言进行文件处理。
C语言中的文件处理使我们能够通过C程序创建,更新,读取和删除存储在本地文件系统中的文件。可以对文件执行以下操作。
创建新文件
打开现有文件
从文件读取
写入文件
删除文件
文件处理功能
C库中有许多函数可以打开,读取,写入,搜索和关闭文件。文件功能列表如下:
功能 |
说明 |
fopen() |
打开新文件或现有文件 |
fprintf() |
将数据写入文件 |
fscanf() |
从文件中读取数据 |
fputc() |
将字符写入文件 |
fgetc() |
从文件中读取字符 |
fclose() |
关闭文件 |
fseek() |
将文件指针设置到给定位置 |
fputw() |
将整数写入文件 |
fgetw() |
从文件中读取一个整数 |
ftell() |
返回当前位置 |
rewind() |
将文件指针设置为文件的开头 |
打开文件: fopen()
我们必须先打开文件,然后才能对其进行读取,写入或更新。 fopen()函数用于打开文件。下面给出了fopen()的语法。
FILE *fopen( const char * filename, const char * mode );
fopen()函数接受两个参数:
文件名(字符串)。如果文件存储在某个特定位置,那么我们必须提到文件存储的路径。例如,文件名可以类似于" c: //some_folder/some_file.ext" 。
打开文件的方式。这是一个字符串。
我们可以在fopen()函数中使用以下模式之一。
模式 |
说明 |
r |
以读取模式打开文本文件 |
w |
以写入模式打开文本文件 |
a |
以追加模式打开文本文件 |
r + |
以读写模式打开文本文件 |
w+ |
以读写模式打开文本文件 |
a+ |
以读写模式打开文本文件 |
rb |
以读取模式打开一个二进制文件 |
wb |
以写入模式打开一个二进制文件 |
ab |
以追加模式打开一个二进制文件 |
rb+ |
以读写模式打开一个二进制文件 |
wb+ |
以读写模式打开一个二进制文件 |
ab+ |
以读写模式打开一个二进制文件 |
fopen函数以下列方式工作。
首先,它搜索要打开的文件。
然后,它从磁盘加载文件并将其放入缓冲区。缓冲区用于提高读取操作的效率。
它设置了一个字符指针,该指针指向文件的第一个字符。
请考虑以下示例,该示例以写模式打开文件。
#include<stdio.h>
void main( )
{
FILE *fp ;
char ch ;
fp = fopen("file_handle.c","r") ;
while ( 1 )
{
ch = fgetc ( fp ) ;
if ( ch == EOF )
break ;
printf("%c",ch) ;
}
fclose (fp ) ;
}
输出
将打印文件内容。
#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()函数的语法如下: