📅  最后修改于: 2023-12-03 14:42:07.779000             🧑  作者: Mango
本文介绍如何使用C语言进行文件的操作。文件操作是计算机编程中极为常见的一种操作,但在不同的编程语言中可能会有些许差异,因此需特别注意。
以下是打开文件的代码示例,这里假设文件名为“students.txt”,且位于d盘根目录下。
int main() {
int sum = 0;
FILE * ptr;
ptr = fopen("d:\\students.txt","r");
if (ptr == NULL){
printf("文件不存在!!");
exit(0);
}
// 其他操作...
}
ptr
,用于指向要打开的文件。fopen()
函数打开文件,第一个参数是文件的路径,这里指定为d盘根目录下的“students.txt”,第二个参数为打开方式,这里使用“r”表示只读方式。fopen()
函数的返回值为指向 FILE 类型的指针变量,如果文件不存在则返回 NULL。printf()
函数输出相应的提示信息,然后调用 exit()
函数结束程序。以下是读取文件的代码示例,假设文件中每行都是学生的姓名和成绩,用空格进行分隔。
int main() {
int sum = 0;
FILE * ptr;
ptr = fopen("d:\\students.txt","r");
if (ptr == NULL){
printf("文件不存在!!");
exit(0);
}
char name[20];
int score;
while (fscanf(ptr, "%s %d", name, &score) != EOF){
printf("学生姓名:%s,成绩:%d\n", name, score);
}
fclose(ptr);
return 0;
}
name
和 int 类型的变量 score
,用于存储从文件读取的数据。while
循环读取文件,feof()
函数用于判断文件是否已经到达文件末尾。fscanf()
函数用于从文件中读取数据,第一个参数为文件指针变量,后面的参数用于指定读取的数据类型和格式。fscanf()
函数返回值不是 EOF
时,说明文件还没有读到末尾,可以打印出读取的结果并继续读取下一行。fclose()
函数关闭文件。以下是写入文件的代码示例,假设要将学生的姓名和成绩写入到“result.txt”文件中。
int main() {
int sum = 0;
FILE * ptr, *pResult;
ptr = fopen("d:\\students.txt","r");
if (ptr == NULL){
printf("文件不存在!!");
exit(0);
}
pResult = fopen("d:\\result.txt","w");
if (pResult == NULL){
printf("文件创建失败!!");
exit(0);
}
char name[20];
int score;
while (fscanf(ptr, "%s %d", name, &score) != EOF){
fprintf(pResult, "学生姓名:%s,成绩:%d\n", name, score);
}
fclose(ptr);
fclose(pResult);
return 0;
}
FILE
类型的指针变量 pResult
,用于指向要写入的文件。fopen()
函数打开要写入的文件,第二个参数为打开方式,这里使用“w”表示写入方式(若文件不存在则自动创建)。fprintf()
函数将数据写入文件,第一个参数为文件指针变量,后面的参数与 printf()
函数类似,用于指定输出的内容和格式。fclose()
函数关闭文件。以上就是C语言文件操作的一些基本内容,包括打开文件、读取文件和写入文件等。在进行文件操作时,需要特别注意打开方式,以及文件不存在等异常情况的处理。