开头

C语言中的文件打开、关闭、读取、写入以及其他文件处理操作都需要使用文件指针,文件指针是一个数据类型,用于向程序指定正在处理的文件。在C标准库中,使用fopen()函数打开文件,可以指定文件名、打开模式等参数。本文将介绍如何使用C语言打开一个文件并清空。

使用fopen()函数打开文件

在使用fopen()函数打开文件时,需要指定文件名和打开模式两个参数。文件名即包含要打开的文件的路径和文件名;打开模式则指定程序打开文件的方式,包括只读、只写、读写等多种方式。例如,如果要打开名为example.txt的文件,并以清空数据的方式打开,代码如下:

FILE *fp = fopen("example.txt", "w");

这段代码将返回一个指向example.txt文件的指针,如果该文件不存在,则会自动创建此文件。而用"w"模式打开文件时,如果文件已经存在,函数将清空原来的数据并覆盖写入新数据。如果想要在一个已存在的文件不清空的情况下写入新数据,可以使用"a+"模式:

FILE *fp = fopen("example.txt", "a+");

清空文件

当获取到恰当的指向所需文件的指针之后,就能够轻松的向文件中写入数据了。若要清空一个已打开的文件,我们需要使用缓冲区来读取文件中的数据,并将其指针移动到文件起始处。下面的代码实现了这个功能:


    FILE *fp = fopen("example.txt", "w");
    rewind(fp);
    fflush(fp);
    fprintf(fp,"%s\n","文件已清空");
    fclose(fp);

使用rewind(fp)函数将文件指针指向文件起始位置,此函数返回的是void类型。之后,使用fflush(fp)函数,清除文件的读写缓冲区,让缓冲区不会造成对后续写入行为的干扰。是将待清空的消息写入文件中,而函数fclose()可以将打开的文件关闭,并释放文件指针(fp)占用的系统资源。这样,example.txt文件中原有的数据就全部被清空了。