C的简单文件读写示范

本文介绍C语言中的文件读写操作,包括如何使用fopen()和fclose()函数打开和关闭文件,以及如何利用fscanf()和fprintf()进行数据的读取与写入。还提供了示例代码,展示了如何在实际应用中运用这些函数。

C的简单文件读写示范

  在C中,通过fopen()函数来打开文件,在程序结束前必须用fclose()函数关闭文件

  1. 打开/关闭文件

    1. fopen()函数原型: FILE* fopen(const char* filename, const char *mode)
      参数一: 文件名
      参数二: 打开模式
      返回值: 成功打开返回文件指针,打开失败返回NULL

    2. fclose()函数原型: int fclose(FILE *fp)
      参数一: 文件指针
      返回值: int类型的数值,返回1代表成功关闭
    使用示例:
    char* fileName = "文件名";
    char* mode = "r";
    FILE* f = fopen(fileName, mode);
    ....
    fclose(f);
  2. 常用文件读写:

    1. 读: fsanf()
      函数原型:
          int fscanf(FILE *stream, const char *format[, address, …]);
      参数一: 文件指针
      其他参数: 其他参数: 格式与scanf(“%d”, &a);一样,需要用到占位符
      返回值: 成功读取的字符的个数
          如果遇到错误或遇到end of file,返回值为EOF。

    2. 写: fprintf()
      函数原型:
          int fprintf(FILE* stream, const char* format[, argument, …]);
      参数一: 文件指针
      其他参数: 格式与printf(“%s参数%d”, “可选”, 1);一样,需要用到占位符
      返回值: 已输出的字符的个数

      PS: [, argument, …] 中,被[]括起来的参数都是可选参数(需要时可以有,不需要时可以没有)
        如: printf(“Hello World”); 就没用到可选参数
        printf(“%s %s”, “Hello”, “World”);就用到了两个可选参数

    3. 读取完毕feof()
      函数原型: int feof(FILE *stream)
      参数一: 文件指针
      返回值: 1读取完毕,0未读取完毕
  3. 注意:

    1. 确定文件读写的模式mode

    2. 打开文件后,都得用fclose()关闭该文件

    3. 若文件为空(没内容),则不能使用fclose()

    4. 用循环从文件中读取相同格式的数据时,判断条件为feof()

    5. 读取文件前,得检测文件是否存在
      存在就用读取其数据
      不存在就用用”w”,创建该文件

    6. 由于编码问题,以’wb’【二进制】模式打开的文件,在写入含有’\n’的文本后,在windows自带的记事本看不到换行
  4. 简单示例

#include <stdio.h>
main()
{
    FILE* data_stu=fopen("学生信息管理系统_data.txt", "r");

    if(data_stu==NULL)  // 文件不存在, 新建该对应的数据文件, 并写入必要的数据
    {
        FILE* data_stu_2 = fopen("学生信息管理系统_data.txt","w");

        fprintf(data_stu_2,"姓名,学号,数学,语文,英语,平均分\n"); // 写入信息说明
        fprintf(data_stu_2,"小明,A10,100,20,30,50\n");        // 写入一个学生的数据
        fclose(data_stu_2);

    }else               // 仅在文件存在且内容不为空
    {
        char rubbish[50];

        // 读取数据时, 每次都得看检测能否读取
        if( !feof(data_stu) )
            fscanf(data_stu,"%s\n",rubbish); //读取信息说明
       // 循环读取学生数据
        while( !feof(data_stu) )
        {
            //步骤省略
            break
        }
        // 仅在文件存在且不为空时, 关闭文件
        fclose(data_stu);
    }
}

// data_stu是在文件存在且内容不为空时,才关闭

// data_stu_2是在文件不存在, 用于新建数据文件的, 写入必要的数据后便在{}中关闭了该文件
内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值