本文概述
在编程中,我们可能需要一些特定的输入数据来生成多次。有时仅在控制台上显示数据是不够的。要显示的数据可能非常大,并且只能在控制台上显示有限数量的数据,并且由于内存是易失性的,因此无法一次又一次地恢复以编程方式生成的数据。但是,如果需要这样做,我们可以将其存储在易失性的本地文件系统中,并且每次都可以访问。在这里,需要使用C处理文件。
C中的文件处理使我们能够通过C程序创建,更新,读取和删除存储在本地文件系统上的文件。可以对文件执行以下操作。
- 创建新文件
- 打开现有文件
- 从文件读取
- 写入文件
- 删除文件
文件处理功能
C库中有许多函数可以打开,读取,写入,搜索和关闭文件。文件功能列表如下:
没有。 | 功能 | 描述 |
---|---|---|
1 | fopen() | 打开新文件或现有文件 |
2 | fprintf() | 将数据写入文件 |
3 | fscanf() | 从文件中读取数据 |
4 | fputc() | 将字符写入文件 |
5 | fgetc() | 从文件中读取字符 |
6 | fclose() | 关闭文件 |
7 | fseek() | 将文件指针设置到给定位置 |
8 | fputw() | 向文件写入一个整数 |
9 | fgetw() | 从文件中读取一个整数 |
10 | ftell() | 返回当前位置 |
11 | 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()函数的语法如下:
int fclose( FILE *fp );
评论前必须登录!
注册