用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 | 文本文件已打开以供阅读 |
重量 | 文本文件已打开以进行写入 |
在 | 文本文件已打开以进行追加 |
++ | 文本文件已打开以进行读写 |
w + t | 文本文件已打开,可用于写作和阅读 |
a + t | 文本文件已打开,可以追加和阅读 |
rb | 二进制文件已打开以供读取 |
b | 打开二进制文件进行写入 |
b | 二进制文件已打开以进行追加 |
r + b | 二进制文件被打开以进行读取和写入 |
w + b | 二进制文件被打开以进行读写 |
a + b | 将打开二进制文件以进行添加和读取。 |
打开文件的写模式
语法如下-
FILE *fp;fp =fopen ("sample.txt”, "w”);
如果该文件不存在,那么将创建一个新文件。
如果该文件存在,则旧内容将被删除,当前内容将被存储。
读取文件的方式
语法如下-
FILE *fpfp =fopen ("sample.txt”, "r”);
如果文件不存在,则fopen函数将返回NULL值。
如果文件存在,则从文件中成功读取数据
追加打开文件的方式
语法如下-
FILE *fp;fp =fopen ("sample.txt", "a");
如果该文件不存在,则将创建一个新文件。
如果文件存在,则当前内容将添加到旧内容中。
模式 | 出口 | 不退出 |
---|---|---|
[R | 读 | fp =“ NULL” |
w ^ | 当前内容 | 新文件将被创建 |
一种 | 旧内容当前内容 | 新文件将被创建 |
示例
以下是用于文件操作的C程序-
//用于将一个文件的内容复制到另一个文件的程序输出结果#include <stdio.h>
#include <stdlib.h> // 对于exit()
int main(){
FILE *fptr1, *fptr2;
char filename[100], c;
printf("Enter the filename to open for reading \n");
scanf("%s",filename);
// 打开一个文件进行读取
fptr1 = fopen(filename, "r");
if (fptr1 == NULL){
printf("Cannot open file %s \n", filename);
exit(0);
}
printf("Enter the filename to open for writing \n");
scanf("%s", filename);
// 打开另一个文件进行写入
fptr2 = fopen(filename, "w");
if (fptr2 == NULL){
printf("Cannot open file %s \n", filename);
exit(0);
}
// 从文件中读取内容
c = fgetc(fptr1);
while (c != EOF){
fputc(c, fptr2);
c = fgetc(fptr1);
}
printf("\nContents copied to %s", filename);
fclose(fptr1);
fclose(fptr2);
return 0;
}
执行以上程序后,将产生以下结果-
Enter the filename to open for readingfile2.txt
Enter the filename to open for writing
file1.txt
Contents copied to file1.txt
以上是 用C语言对文件进行哪些不同的操作? 的全部内容, 来源链接: utcz.com/z/340061.html