Linux C编程之流操作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"等,读者注意所用系统的规定。
Linux C编程之流操作fopen函数的mode相关推荐
- Linux系统编程.NO7——目录操作函数
5. 目录文件管理函数 5.1. 目录文件概念 目录在Linux中也是文件,也有对应的文件指针,每次读目录之前也要先打开目录,然后目录指针就出现了,第一次读就是第一个文件的信息,然后第二次读就是第二个 ...
- Linux系统编程-文件的操作
Linux系统编程-文件操作 前言: Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,硬件设备(键盘.监视器.硬盘.打印机)是文件,就连套接字(socket).网络通 ...
- linux文件编程(3)—— main函数传参、myCp(配置成环境变量)、修改配置文件、整数和结构体数组写到文件
参考:linux文件编程(3)-- 文件编程的简单应用:myCp.修改配置文件 作者:丶PURSUING 发布时间: 2021-04-09 23:45:05 网址:https://blog.csdn. ...
- C语言学习笔记---文件操作 fopen()函数 和 fclose()函数
fopen()函数 在C语言中fopen()函数用来打开文件.该函数声明在stdio.h中.它的第一个参数是待打开文件的名称,更确切的说是一个包含文件名的字符串地址.第二个参数是一个字符串,指定待 ...
- 文件操作 ——fopen()函数
格式-- FILE *fp: fp=fopen("filename.txt","r"); 第一行定义一个文件指针类型的变量fp.第二行打开一个文件, 返回一个文 ...
- Linux系统编程 | 01 -文件操作
一.文件操作方法 linux中有两种方法可以操作文件:系统调用和c库函数. 1. 什么是系统调用? 由操作系统实现并提供给外部应用程序的编程接口(API),是应用程序同系统之间数据交互的桥梁. C标准 ...
- 【Linux系统编程】可重入函数和不可重入函数
在实时系统的设计中,经常会出现多个任务调用同一个函数的情况.如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果.这样的函数是不安全的 ...
- Linux应用编程之串口操作20170901
主要介绍在Linux应用程序下对串口的操作: 1.串口初始化 int InitCom() { int Ret; Ret = SerailComm.OpenCom( ComPortDevPath, 0 ...
- Linux C编程--目录文件操作
1.stat 获取文件属性 #include <sys/types.h> #include <sys/stat.h> #includ ...
最新文章
- JQuery $post函数
- 深入Android内存泄露
- 漫谈词向量之基于Softmax与Sampling的方法
- SAP凭证冲销BAPI用法
- 从零开始用python处理excel数据_Python对Excel的操作
- c语言小游戏代码矿井逃生_如何选择编程语言和逃生教程炼狱
- POJ1741 点分治模板
- NumPy库---二元函数
- C# 在word中查找及替换文本
- 深入理解Linux网络技术内幕学习笔记第二章:一些重要的数据结构
- 离散数学 习题篇 —— 谓词公式练习
- matlab设计理想带通滤波器 bpf(f_sf_b1_b2),QDPSK信号数字化解调器中带通滤波器的设计与仿真...
- scratch编程谷歌小恐龙游戏
- 软件暴力破解的原理和破解经验
- 需要验证的网络连接服务器,登录iCloud提示验证失败,连接到服务器时出现问题怎么办...
- Lora模块(SX1278)
- ios safari 模拟器_web测试-ios设备模拟器(iOS Simulator)
- 理财就是理生活读后感
- Odb文件(Abaqus)数据结构的一些思考
- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resour
热门文章
- 物理层数据通信理论基础
- [debug] 命令行窗口运行.py文件,报错No module named XXX
- Quartus17报错Top-level design entity “dff“ is undefined的解决办法
- 贺利坚老师汇编课程35笔记:[BX+SI]和[BX+DI]寻址
- alex的ATM学习笔记
- 2018年6月3号(线段树(3))
- (三)svn 服务器端之创建仓库
- [bzoj1834][ZJOI2010]network 网络扩容
- Elasticsearch之settings和mappings(图文详解)
- metasploit连接postgresql的问题(U盘启动kali linux)