一、文件的操作
在C语言中,文件是通过文件指针来进行操作的,每打开一个文件都有一个对应的文件指针,这个指针指向文件中当前指针所在的位置。文件指针在初始化时会指向文件开始处。
二、文件指针的操作
在C语言中,FILE类型是对文件指针进行封装的结构体类型。
文件指针操作常用的函数包括:
fopen
(file open) :打开文件fclose
(file close) :关闭文件fread
(file read) :读取文件fwrite
(file write) :写入文件fseek
(file seek) :定位文件ftell
(file tell) :获取文件当前指针所在位置
三、文件的打开和关闭
在C语言中通过fopen
函数来打开文件。
语法如下:
FILE *fopen(const char *filename, const char *mode);
其中,参数filename是一个字符串,它存放了要打开的文件的路径和文件名;参数mode表示打开文件的模式。
打开文件的模式一般有以下几种:
"r"
:以只读方式打开文件。文件的指针会被放在文件的开头。如果文件不存在,打开文件会失败,会返回NULL。"w"
:以写入方式打开文件。如果文件已经存在,则将文件内容清空。如果文件不存在,则创建新文件,文件指针会被放在文件的开头。"a"
:以追加方式打开文件,将文件指针放在文件的末尾。如果文件不存在,则会创建新文件,并将文件指针放在文件的开头。"r+"
:以读写方式打开文件。文件指针会被放在文件的开头,如果文件不存在,打开文件会失败,会返回NULL。"w+"
:以读写方式打开文件。如果文件已经存在,则将文件内容清空。如果文件不存在,则创建新文件,并将文件指针放在文件的开头。"a+"
:以读写方式打开文件。将文件指针放在文件的末尾。如果文件不存在,则会创建新文件,并将文件指针放在文件的开头。
关闭文件的函数是fclose
:
int fclose(FILE *stream);
其中,参数stream是要关闭的文件指针。该函数返回一个整数值,如果文件关闭成功,返回0,否则返回EOF(-1)。
示例1:
#include <stdio.h>
int main(){
FILE *fp;
char ch;
fp = fopen("test.txt", "r"); // 以只读方式打开文件
if(fp == NULL){ // 判断文件指针是否为空
printf("Fail to open file");
return 0;
}
// 从文件中读取字符,并将其输出
while((ch = fgetc(fp)) != EOF){
printf("%c", ch);
}
fclose(fp); // 关闭文件
return 0;
}
示例2:
#include <stdio.h>
int main(){
FILE *fp;
char str[100];
fp = fopen("test.txt", "w"); // 以只写方式打开文件
if(fp == NULL){ // 判断文件指针是否为空
printf("Fail to open file");
return 0;
}
printf("请输入一行文字:");
fgets(str, 100, stdin); // 从键盘上读取一行文字
fprintf(fp, "%s", str); // 将字符写入文件
fclose(fp); // 关闭文件
return 0;
}
以上两个示例分别演示了如何打开和关闭文件,以及如何读取和写入文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言超详细讲解文件的操作 - Python技术站