以下是一个简单的C语言文件读写操作的示例代码,包含文件打开、写入、读取和关闭等操作

以下是一个简单的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函数逐行读取文件内容并输出。最后,程序会关闭文件并退出。

需要注意的是,在实际应用中,文件读写操作可能会涉及到更多的细节和异常情况处理,例如文件不存在、文件权限不足、磁盘空间不足等问题。因此,在编写文件读写代码时,需要仔细考虑各种可能的情况,并采取相应的措施进行处理。此外,还需要注意文件读写的效率和安全性,例如避免读取过大的文件导致内存溢出,或者使用加密方式保护文件内容的安全。

另外,这个示例代码中的文件读写操作都是基于文本文件的,如果需要处理二进制文件,需要使用不同的函数和方法。例如,可以使用freadfwrite函数进行二进制数据的读写操作。此外,在处理二进制文件时,还需要注意字节顺序和端序等问题,以确保数据的正确性和可移植性。

总之,文件读写是C语言中非常重要的一部分,掌握文件读写操作对于编写高效、稳定、安全的程序至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dalao_zzl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值