fopen()和fwrite()函数介绍及用法

2023-11-12

  一、fopen()

        头文件:#include <stdio.h>
        fopen()作用:用来打开或创建一个普通文件(文本文件/二进制文件)
       函数原型:FILE *fopen(const char *pathname, const char *mode);

           pathname:要打开的文件的路径名
            mode:打开文件的方式,字符串
               r      只读打开,光标在文件开头
                        文件不存在,则报错
                        
               r+     读写打开,光标在文件开头
                        文件不存在,则报错

               w      只写打开,文件不存在则创建
                        文件存在,则截短(文件内容被清空)

               w+    读写打开,文件不存在则创建
                        文件存在,则截短(文件内容被清空)

               a      追加打开,只写。文件不存在则创建
                        文件存在,光标在末尾

               a+     读写打开,文件不存在则创建。
                        原始读的光标在文件开头,原始写的光标在文件末尾
            
            返回值:
                    成功返回打开文件的指针  FILE*
                        在标准IO中,FILE*就表示一个已经打开的文件
                     
                    失败返回NULL,同时errno被设置

二、fwrite()

函数介绍:fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。

        函数原型:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

        (1)buffer:是一个指针(也可以是一个数组),对fwrite来说,是要获取数据的地址;
        (2)size:要写入内容的单字节数;
        (3)count:要进行写入size字节的数据项的个数,这里我们可以用strlen来计算;
        (4)stream:目标文件指针;
 


       例子:将buf的值写入txt文件(非常简单的一个例子,适合初学者)

FILE*fp = fopen("test.txt","a+");
	if(fp == NULL)
	{
		perror("open fp error:");
		return -1;
	}
	//操作
		//写入数据
	int buf[11] = {1,2,3,4,5,6,7,8,2,3,4};
	fwrite(buf,4,11,fp);
	
	//关闭文件
	fclose(fp);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fopen()和fwrite()函数介绍及用法 的相关文章

随机推荐

  • react hooks无法获取到最新值问题

    无法获取最新值的写法 在state中定义初始值 import React useState useEffect from react const type setType useState 0 通过setType方法修改type div s
  • 字符替换 英文字符串单词个数统计 python123题解

    字符替换 描述 假设有段英文 其中有单独字母 P 被误写为 p 请编写程序进行纠正 输入格式 用户输入一个字符串 不要使用提示词语 输出格式 程序输出字符串 其中原本包含的英文字母 p 全部被替换为 P 输入输出示例 输入 输出 示例 py
  • MYSQL常用字段属性

    MYSQL常用字段属性 1 DECIMAL M D 2 INT 3 VARCHAR 4 CHAR 5 TEXT 6 DATA 1 DECIMAL M D M是总位数 1 65 包含精度 D是小数位 0 30 当表示定点小数时使用类型 比fl
  • PostgreSQL配置优化

    转载请注明原文出处 http blog csdn net roddick621 PostgreSQL配置优化 PostgreSQL配置优化 硬件和系统配置 测试工具 配置文件 主要选项 测试数据 总结 硬件和系统配置 操作系统 Ubuntu
  • GVIM编辑器实现自定义配对关键字之间的跳转

    由于刚开始接触GVIM编辑器 在使用GVIM写Verilog代码的时候发现使用 命令可以实现配对括号之间的跳转 但其它的一些关键字之间却不能实现配对跳转 从而导致在代码量较大的时候常常会出现配对关键字多写或漏写的情况 很不方便 网上查阅了相
  • MMDetection新手安装使用教程(无限踩坑)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 MMDetection安装过程 1 torch torchvision的安装 2 mmdetection的安装 二 MMDetection的使用步骤 1
  • c++中的新成员——new,命名空间

    c 中的动态内存分配 优点 使用更加的方便 解决了c中有很时候没有库文件时不能申请堆内存的情况 使用 c 中是通过new关键字来进行内存空间的申请的 c 中动态内存是基于类型进行的 delete关键字用于释放 new在申请的时候可以进行初始
  • opentsdb+grafana监控环境搭建

    opentsdb是在hbase的基础上设计的时间序列数据库 安装opentsdb必须先有hbase hadoop和hbase是以集群的方式安装 如果在单台服务器上安装 下面的配置文件也是适合的 只要把相应的服务器名移除掉就可以 grafan
  • MAC地址会耗尽吗?

    有可能会耗尽 虽然目前离耗尽的日子还很远 先基本解释一下MAC地址的特点 虽然MAC地址有48位 但并非48位都是可以随便用的 就像IPv4虽然有32位 但也不是所有组合都可以使用一样 MAC地址第一字节的最低2位 bit 是标示地址类型的
  • 11.神经网络与机器学习(十)—卷积神经网络(CNN)

    1 引言 我们之前的神经网络结构都是全连接的 也就是说 每一个输入神经元的都和相邻层的每一个神经元连接 但是这种连接带来的数据量太大了 以我们之前的一个三层神经元举例 784 30 10 从输入层到隐藏层有 784 1 30 23550个参
  • 从零开始学HTML+CSS

    本文是基于b站黑马程序员的视频教程 然后总结自己的心得写的 只是自己的个人总结 如有错误 敬请指正 基于此链接最新前端开发入门教程 web前端零基础html5 css3 前端项目视频教程 哔哩哔哩 bilibili最新的web前端html5
  • python面向对象编程高级篇之枚举类Enum

    我们可以定义月份 比如 from enum import Enum Month Enum Month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec for name member in Mo
  • 如何在opensea批量发布NFT(Goerli测试网)

    一 生成NFT图象 hashlips art engine HashLips Art Engine 是一种用于根据提供的图层创建多个不同的艺术作品实例的工具 1 安装 npm install or yarn install 2 使用 在 l
  • 微信小程序简单的信息表格的提交到数据库(新手篇)(云端数据库)

    微信小程序简单的信息表格的提交到数据库 新手专属 云端数据库 大家好 我是小陈 一名大一的编码爱好者 刚刚结束了大一的学习生活 也总结出了一点编码的经验 希望与大家一起分享 我是学习物联网的 总感觉大一的课程枯燥无味 所以索性自学了一点微信
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 持续集成平台-jenkin

    CI平台诞生的背景 很多公司因为种种原因 不想使用GitHub gitlab上的CI能力 或是希望定制一些功能更加强大的CI CD工作流 这时就需要一些更专业的CI平台了 CI平有那些 github gitlab Aone 阿里巴巴 织云
  • UE5学习笔记(1)——从源码开始编译安装UE5

    目录 0 前期准备 1 Git bash here 2 克隆官方源码 3 选择安装分支 4 运行Setup bat 下载依赖文件 5 运行GenerateProjectFiles bat生成工程文件 6 生成完成 找到UE5 sln UE4
  • mysql 设置默认值_MySQL InnoDB相关参数设置

    MySQL InnoDB相关参数设置 1 InnoDB参数 MySQL目前使用的主要为InnoDB引擎 一些InnoDB引擎参数调整到合理的值将很大程度上改善数据库性能 下面将对一些重要参数做说明 2 InnoDB参数调整 2 1InnoD
  • 【Java】使用iText生成PDF文件

    iText介绍 iText是著名的开放源码的站点sourceforge一个项目 是用于生成PDF文档的一个java类库 通过iText不仅可以生成PDF或rtf的文档 而且可以将XML Html文件转化为PDF文件 项目要使用iText 必
  • fopen()和fwrite()函数介绍及用法

    一 fopen 头文件 include