用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语言打开文件的模式-
打开文件的写模式
语法如下-
FILE *fp; fp =fopen ("sample.txt”, "w”);
如果该文件不存在,那么将创建一个新文件。
如果该文件存在,则旧内容将被删除,当前内容将被存储。
读取文件的方式
语法如下-
FILE *fp fp =fopen ("sample.txt”, "r”);
如果文件不存在,则fopen函数将返回NULL值。
如果文件存在,则从文件中成功读取数据
追加打开文件的方式
语法如下-
FILE *fp; fp =fopen ("sample.txt", "a");
如果该文件不存在,则将创建一个新文件。
如果文件存在,则当前内容将添加到旧内容中。
示例
以下是用于文件操作的C程序-
//用于将一个文件的内容复制到另一个文件的程序 #include输出结果#include //对于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 reading file2.txt Enter the filename to open for writing file1.txt Contents copied to file1.txt