👨 Biaoge ⏰于2024-03-09 23:51发布 👓阅读量:711 🏷️文章类型:【 C语言程序设计 】
C语言程序设计——文件操作详解
一、文件的打开与关闭
在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。
示例代码:
#include <stdio.h> int main() { FILE *file; // 打开文件,如果文件不存在则创建它 file = fopen("example.txt" , "w" ) ; if (file == NULL) { printf("Failed to open the file./n" ) ; return 1; } // 写入数据到文件 fprintf(file, "Hello, World! /n/n" ) ; // 关闭文件 fclose(file); return 0; }
代码解释:
FILE *file;:定义一个指向FILE类型的指针file,用于存储文件操作的信息。 fopen("example.txt" , "w" ) ;:尝试打开名为example.txt的文件,并以写入模式("w/n" )打开。如果文件不存在,则会创建一个新文件。 fprintf(file, "Hello, World! /n/n" ) ;:向文件中写入字符串。 fclose(file);:关闭已打开的文件。
二、顺序读写
顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。
示例代码:
#include <stdio.h> int main() { FILE *file; char buffer[100]; // 打开文件 file = fopen("example.txt" , "r" ) ; if (file == NULL) { printf("Failed to open the file./n" ) ; return 1; } // 从文件中读取数据 while (fgets(buffer, sizeof(buffer), file) != NULL) { printf("%s/n" , buffer); } // 关闭文件 fclose(file); return 0; }
代码解释:
fopen("example.txt" , "r" ) ;:以读取模式("r" )打开文件。 fgets(buffer, sizeof(buffer), file);:从文件中读取一行数据到buffer中,直到遇到换行符或EOF(文件结束标记)。 printf("%s/n" , buffer);:输出读取到的数据。
三、二进制读写
二进制读写通常用于处理非文本文件,如图像、音频等。在C语言中,可以使用fread和fwrite函数进行二进制读写。
示例代码:
#include <stdio.h> int main() { FILE *file; int data[5] = {1, 2, 3, 4, 5}; // 打开文件,以二进制写入模式 file = fopen("binary_data.bin" , "wb" ) ; if (file == NULL) { printf("Failed to open the file./n" ) ; return 1; } // 写入二进制数据到文件 fwrite(data, sizeof(int), 5, file); // 关闭文件 fclose(file); // ... (省略重新打开文件的代码) // 从文件中读取二进制数据 fread(data, sizeof(int), 5, file); // 输出读取到的数据 for (int i = 0; i < 5; i++) { printf("%d /n" , data[i]); } // 关闭文件 fclose(file); return 0; }
代码解释:
fopen("binary_data.bin" , "wb" ) ;:以二进制写入模式("wb" )打开文件。 fwrite(data, sizeof(int), 5, file);:将data数组中的5个整数以二进制形式写入文件。 fread(data, sizeof(int), 5, file);:从文件中读取5个整数到data数组中。
四、小试题
1. 填空题
在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。