【C标准库】详解fopen函数 一篇让你搞懂fopen函数

这篇具有很好参考价值的文章主要介绍了【C标准库】详解fopen函数 一篇让你搞懂fopen函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创作不易,感谢支持! ‾ \underline{创作不易,感谢支持! } 创作不易,感谢支持!

fopen函数

头文件:stdio.h

功能是打开一个文件,其声明格式是:

FILE *fopen(const char *filename, const char *mode);

文件指针名 = fopen(文件名,使用文件方式)

  • “文件名”是被打开文件的文件名,类型是C风格字符串。
  • “使用文件方式”是指文件的类型和操作要求。
参数:

filename : 字符串,表示要打开的文件名称。
mode : 字符串,表示文件的访问模式,可以是以下表格中的值。

返回值:

该函数返回一个 FILE 指针(文件指针)。如果打开失败则返回 NULL。

打开方式如下:
  • 注意:这里的输入意思是从文件获取信息;输出是向文件输出信息
文件使用方式 含义 如果指定文件不存在
“r”(只读) 为了输入数据,打开一个已经存在的文本文件(从文件获取) 出错
“w”(只写) 为了输出数据,打开一个文本文件(向文件输出) 建立一个新的文件
“a”(追加) 向文本文件尾添加数据 出错
“rb”(只读) 为了输入数据,打开一个二进制文件 出错
“wb”(只写) 为了输出文件,打开一个二进制文件 建立一个新的文件
“ab”(追加) 向一个二进制文件尾添加数据 出错
“r+”(读写) 为了读和写,打开一个文本文件 出错
“w+”(读写) 为了读和写,创建一个新的文本文件 建立一个新的文件
“a+”(读写) 打开一个文件,在文件末尾读进行读写 建立一个新的文件
“rb+”(读写) 为了读和写打开一个二进制文件 出错
“wb+”(读写) 为了读和写,新建一个二进制文本文件 建立一个新的文件
“ab+”(读写) 打开一个二进制文件,在文件末尾进行读和写 建立一个新的文件

注意:如果使用任何一种 ”w" 模式打开一个现有文件,该文件的内容会被删除,以便程序在一个空白文件中开始操作

操作实例:
  • 此时我的项目路径下没有file.txt文件,因为打开方式是w,所以它会自动创建一个。
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   FILE* fp = fopen ("file.txt", "w");
   fclose(fp);//关闭文件
   fp = NULL;
   return 0;
}

以上代码均在vs2022环境下编译文章来源地址https://www.toymoban.com/news/detail-772160.html

到了这里,关于【C标准库】详解fopen函数 一篇让你搞懂fopen函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速上手Linux | 一篇让你彻底学会Linux下安装MySQL!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位铁汁们大家好啊,我相信各位初学者在学习linux的时候对于安装MySQL来说简直是太难受了?    ⛳️ 不小心安装出现错误查找半天,想想都

    2024年02月04日
    浏览(37)
  • 【C语言】一篇让你彻底吃透(结构体与结构体位段)

    本章重点 主要讲解结构体和位移动的使用和定义与声明,并且结构体和位段在内存中是如何存储的。 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 例如用结构体描述一个学生: struct 结构体 stu结构体标签 (标签可以自己随便起

    2023年04月19日
    浏览(31)
  • 【算法精讲】一篇让你掌握前缀和算法(附图解和不少题目练习~~)

    前缀和算法是一种用空间换时间的算法,他常常用于解决某些题目或者作为某些高级算法的组成部分。 例如:让你求某个矩阵(一维)的子矩阵的最大值,如果使用暴力解法它的时间复杂度将会是O(n^2) ,但如果使用该算法就可以使其时间复杂度降低一个维度也就是O(N). 讲解

    2024年04月13日
    浏览(27)
  • 一篇文章让你搞懂自定义类型-----结构体

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 例如描述一个学生 在声明结构的时候,可以不完全的声明 比如 上面的两个结构在声明的时候省略掉了结构体标签(tag) 那么问题来了 警告: 编译器会把上面的两个声明当成完全不同的两个

    2024年02月16日
    浏览(34)
  • [Java基础系列第5弹]Java多线程:一篇让你轻松掌握并发编程的指南

    多线程是一种编程技术,它可以让一个程序同时执行多个任务,从而提高程序的性能和效率。但是,使用Java多线程也不是一件容易的事情,它涉及到很多复杂的概念和问题,如线程安全、同步、锁、原子类、并发集合、生产者消费者模式、线程池模式、Future模式、线程协作模

    2024年02月14日
    浏览(35)
  • 一篇文章让你搞懂TypeScript中的typeof()、keyof()是什么意思

    知识专栏 专栏链接 TypeScript知识专栏 https://blog.csdn.net/xsl_hr/category_12030346.html?spm=1001.2014.3001.5482 有关TypeScript的相关知识可以前往TypeScript知识专栏查看复习!! 最近在 前端的深入学习过程 中,接触了与 网络请求 相关的内容,于是计划用三个专栏( HTTP 、 Axios 、 Ajax )和零碎

    2023年04月21日
    浏览(47)
  • Nginx配置详解,一文带你搞懂Nginx

    1 基本概念 1.1 Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支

    2024年01月16日
    浏览(34)
  • 让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

    大家好,我是小饼鹅,让我们一起学习吧   如果我们正在应用的windows系统进行开发工作的话,我们很有可能在对代码进行git add 的时候会看到以下warning: LF will be replaced by CRLF the next time Git touched it 很多人可能并不会特别在意,因为它貌似并没有对我们产生什么影响,可是真

    2024年02月09日
    浏览(33)
  • 一文带你搞懂PyTorch中所有模型查看的函数model.modules()系列

    model一般继承nn.Model 他的实例一般具有几个有序 字典 , _modules,_parameters,_buffers,表示当前model的子模块,自己注册的parameters和buffers 注意,_modules字典keys对应子模块名字,value对应子模块的实例,所以可以迭代的调用子模块的子模块,比如下面两个函数 因为是字典,所以可

    2024年02月06日
    浏览(31)
  • C/S、B/S架构详解,一文带你搞懂

      CS架构(Client-Server Architecture)是一种分布式计算模型,其中客户端和服务器之间通过网络进行通信。在这种架构中,客户端负责向服务器发送请求,并接收服务器返回的响应。服务器则负责处理客户端的请求,并返回相应的结果。CS架构通常用于构建大型的网络应用程序,

    2024年02月16日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包