学科分类
目录
C语言

文件重命名与文件删除

C语言除了提供文件的读写函数外,还有文件的重命名和文件删除函数,接下来对文件重命名函数和文件删除函数分别进行讲解。

1、rename()函数

rename()函数用于对文件重命名,函数声明如下所示:

int rename(const char * oldname,const char * newname);

上述函数声明中,参数oldname表示要修改的文件名,参数newname表示修改后文件名,修改成功则返回0,如果修改的文件名与以修改的文件名重名,或者修改的文件不存在时返回非0值。

接下来通过一个案例演示如何使用rename()函数对文件重命名,如例1所示。

例1 renameFile.c

 1    #define _CRT_SECURE_NO_WARNINGS
 2    #include <stdio.h>
 3    int main()
 4    {
 5        FILE* fp;
 6        char s[20] = {0};
 7        int x=rename("hellow.txt","1.txt");
 8        printf("修改状态:%d\n", x);
 9        fp = fopen("1.txt", "r");
 10        while (!feof(fp))
 11        {
 12            fgets(s, 20, fp);
 13        }
 14        fclose(fp);
 15        printf("%s\n", s);
 16        return    0;
 17    }

例1运行结果如图1所示

图1 例1运行结果

由图1可知,hellow.txt文件名修改成功,打开修改后的文件内容如图2所示。

图2 1.txt文件内容

2、remove()函数

remove()函数用于删除文件,函数声明如下所示:

int remove(const char *Filename);

remove()函数只有一个参数Filename,表示要删除的文件名。删除成功返回0,删除失败返回-1。 接下来以删除文件“1.txt”为例,讲解如何使用remove()函数删除文件,如例2所示。

例2 removeFile.c

 1    #define _CRT_SECURE_NO_WARNINGS
 2    #include <stdio.h>
 3    int main()
 4    {
 5        FILE* fp;
 6        char* s[20] = { 0 };
 7        int x=remove("1.txt");
 8        printf("修改状态:%d\n", x);
 9        fp = fopen("1.txt", "r");
 10        if (fp==NULL)
 11        {
 12            printf("文件打开失败\n");
 13            exit(0);
 14        }
 15        while (!feof(fp))
 16        {
 17            fgets(s, 20, fp);
 18        }
 19        fclose(fp);
 20        printf("%s\n", s);
 21        return    0;
 22    }

例2运行结果如图3所示。

图3 例3运行结果

由图3可知,文件删除状态为0,表明“1.txt”文件删除成功,再次打开“1.txt”文件时打开失败。

点击此处
隐藏目录