以下是一个简单的C语言文件读写操作的示例代码,包含文件打开、写入、读取和关闭等操作
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1000 // 定义每行最大长度
int main() {
FILE *fp;
char filename[50];
char line[MAX_LINE_LENGTH];
char choice;
printf("请输入文件名(包括路径):");
scanf("%s", filename);
// 打开文件
fp = fopen(filename, "r+");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
exit(1);
}
printf("请选择操作:\n");
printf("1. 写入文件\n");
printf("2. 读取文件\n");
printf("3. 退出\n");
scanf(" %c", &choice);
// 根据用户选择执行相应操作
switch (choice) {
case '1':
printf("请输入要写入的内容(每行不超过%d个字符):\n", MAX_LINE_LENGTH);
while (fgets(line, MAX_LINE_LENGTH, stdin) != NULL) {
fputs(line, fp);
}
break;
case '2':
rewind(fp); // 将文件指针重置到文件开头
printf("文件内容如下:\n");
while (fgets(line, MAX_LINE_LENGTH, fp) != NULL) {
printf("%s", line);
}
break;
case '3':
break;
default:
printf("无效的选择,请重新选择。\n");
break;
}
// 关闭文件
fclose(fp);
return 0;
}
这个示例代码演示了如何使用C语言进行文件读写操作。首先,程序会提示用户输入文件名(包括路径),然后尝试打开该文件。如果文件打开失败,程序会输出错误信息并退出。接下来,程序会提示用户选择操作,包括写入文件和读取文件。如果用户选择写入文件,程序会提示用户输入要写入的内容,并使用fputs
函数将内容写入文件。如果用户选择读取文件,程序会将文件指针重置到文件开头,并使用fgets
函数逐行读取文件内容并输出。最后,程序会关闭文件并退出。
需要注意的是,在实际应用中,文件读写操作可能会涉及到更多的细节和异常情况处理,例如文件不存在、文件权限不足、磁盘空间不足等问题。因此,在编写文件读写代码时,需要仔细考虑各种可能的情况,并采取相应的措施进行处理。此外,还需要注意文件读写的效率和安全性,例如避免读取过大的文件导致内存溢出,或者使用加密方式保护文件内容的安全。
另外,这个示例代码中的文件读写操作都是基于文本文件的,如果需要处理二进制文件,需要使用不同的函数和方法。例如,可以使用fread
和fwrite
函数进行二进制数据的读写操作。此外,在处理二进制文件时,还需要注意字节顺序和端序等问题,以确保数据的正确性和可移植性。
总之,文件读写是C语言中非常重要的一部分,掌握文件读写操作对于编写高效、稳定、安全的程序至关重要。