C语言中文件操作有哪些?


在C语言中,可以对文件执行以下操作:

  • 命名文件。
  • 打开文件。
  • 从文件读取。
  • 写入文件。
  • 关闭文件。

语法

**打开和命名文件**的语法如下:

FILE *File pointer;

例如,FILE * fptr;

File pointer = fopen ("File name”, "mode”);

例如,fptr = fopen ("sample.txt”, "r”)

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

打开文件的模式

下面解释了C语言中打开文件的模式:

模式描述
r以只读方式打开文件
w以写入方式打开文件
a+以追加方式打开文件
r+以读写方式打开文件
w+以写读方式打开文件
a+以追加读方式打开文件
rt以文本方式打开文件进行读取
wt以文本方式打开文件进行写入
at以文本方式打开文件进行追加
r+t以文本方式打开文件进行读写
w+t以文本方式打开文件进行写读
a+t以文本方式打开文件进行追加读
rb以二进制方式打开文件进行读取
wb以二进制方式打开文件进行写入
ab以二进制方式打开文件进行追加
r+b以二进制方式打开文件进行读写
w+b以二进制方式打开文件进行写读
a+b以二进制方式打开文件进行追加读。
  • 以写入模式打开文件

语法如下:

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

如果文件不存在,则创建一个新文件。

如果文件存在,则旧内容将被擦除,并存储当前内容。

  • 以读取模式打开文件

语法如下:

FILE *fp
fp =fopen ("sample.txt”, "r”);

如果文件不存在,则fopen函数返回NULL值。

如果文件存在,则成功从文件读取数据

  • 以追加模式打开文件

语法如下:

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

如果文件不存在,则将创建一个新文件。

如果文件存在,则当前内容将添加到旧内容中。

模式退出未退出
R读取fp="NULL"
W当前内容将创建一个新文件
A旧内容当前内容
将创建一个新文件

示例

以下是用于文件操作的C程序:

 在线演示

//Program for copying the contents of one file into another file
#include <stdio.h>
#include <stdlib.h> // For exit()
int main(){
   FILE *fptr1, *fptr2;
   char filename[100], c;
   printf("Enter the filename to open for reading 
");    scanf("%s",filename);    // Open one file for reading    fptr1 = fopen(filename, "r");    if (fptr1 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    printf("Enter the filename to open for writing
");    scanf("%s", filename);    // Open another file for writing    fptr2 = fopen(filename, "w");    if (fptr2 == NULL){       printf("Cannot open file %s
", filename);       exit(0);    }    // Read contents from file    c = fgetc(fptr1);    while (c != EOF){       fputc(c, fptr2);       c = fgetc(fptr1);    }    printf("
Contents copied to %s", filename);    fclose(fptr1);    fclose(fptr2);    return 0; }

输出

执行上述程序时,将产生以下结果:

Enter the filename to open for reading
file2.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt

更新于: 2021年3月11日

6K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告