fopen参数mode详解
FILE * fopen(const char * path,const char * mode);
参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
rb+ 读写打开一个二进制文件,只允许读写数据。
rt+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。
有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。
转载于:https://blog.51cto.com/no001/526653
fopen参数mode详解相关推荐
- Python必备基本技能——命令行参数args详解
Python必备基本技能--命令行参数args详解 1. 效果图 2. 源码 2.1 简单命令行参数 2.1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员.工程师和计算机科学家必备的技能--命令行 ...
- python中fn的用法_Pytorch技巧:DataLoader的collate_fn参数使用详解
DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=False, sampler ...
- oracle参数文件initorcl位置,oracle 参数文件详解
参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...
- python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...
- oracle数据库pfile文件,Oracle pfile/spfile参数文件详解
Oracle pfile/spfile参数文件详解 在创建数据库时,SPFile文件中部分必须考虑的参数值: 基本规则 a.在SPFile文件中,所有参数都是可选的,也就是说只需要在初始化参数文件中列 ...
- mysql数据存储过程详解_mysql数据存储过程参数实例详解
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...
- 如何用PPT来实现三维3D效果,附参数设置详解
原文链接: 如何用PPT来实现三维3D效果,附参数设置详解
- python 函数参数self_Python类中self参数用法详解
Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...
- oracle out参数查询,Oracle的out参数实例详解
Oracle的out参数实例详解 一 概念 1.一般来讲,存储过程和存储函数的区别在于存储函数可以有一个返回值:而存储过程没有返回值. 2.过程和函数都可以通过out指定一个或多个输出行.我们可以利用 ...
最新文章
- 组合数的简单求法(dfs)
- linux的for循环怎么写,Linux命令:for循环写法总结
- JS,JQuery杂谈
- LeetCode 334. 递增的三元子序列
- 剥开比原看代码07:比原节点收到“请求区块数据”的信息后如何应答?
- NTP (Network Time Protocol)
- lsd 特征点匹配代码_OpenCvSharp 通过特征点匹配图片
- LINUX内核-等待队列
- 微信朋友圈装x代码_微信朋友圈超强装X,电影台词长截图,一键搞定
- 锂电池充电——充电保护电路
- 在刚创建的云服务器如何git克隆自己的私人仓库
- 村上春树《挪威的森林》读书笔记————你以为这只是一本普普通通的恋爱小说?那你就错了。三年后的重新阅读,让我对这本小说有了真正意义上的认识
- 阿里面试官:“你有高并发经验吗?”
- 电影票业务-字节青训营
- 前端开箱即用的中后台管理模版,建议收藏
- ts 之 属性的修饰符public、private、protect
- Space/Aerial-Assisted Computing Offloading for IoT Applications: A Learning-Based论文复现
- 美团Java后台一面
- 【Linux】单网卡设置双ip的方法
- 音乐app用户推荐系统构建_一款专门给用户推荐动听音乐的音乐期刊类的应用。画面极简优美...
热门文章
- oracle nvachar 长度,Oracle中varchar、varchar2和nvarchar、nvarchar2
- 一周一论文(翻译 总结)— [SOCC 13] jVerbs Ultra-Low Latency for Data Center Applications 在JVM虚拟机上构建RDMA的verbs操作
- C# 集合交、并、差、去重,对象集合交并差
- git 解决多人修改相同的文件导致的冲突
- 【2016北京集训测试赛】river
- 推荐一个十分好看的开源博客系统
- Servlet3.0 multipart 文件上传技术
- MySQL 5.6.26 通过frm ibd 恢复数据过程
- CPython对象模型:string(留坑待填)
- HTML之垂直居中问题