『C语言』关于fopen函数的模式字符串
来源:互联网 发布:mac 应用程序开发 编辑:程序博客网 时间:2024/06/04 17:59
在C语言中,通常使用fopen()打开一个文件,此函数在stdio.h中声明。
它有两个参数,第一个为要打开的文件名(一个字符串),它实际上代表了包含该字符串的地址;第二个参数用于指定文件的打开模式,如下:
“r”:以只读模式打开一个文本文件,此文件必须存在。“w”:以只写模式打开一个文本文件,并将文件长度截为0,若文件不存在,则创建之。“a”:以只写模式打开一个文本文件,可从文件尾依次追加内容,若文件不存在,则创建之。“r+”:以读写模式打开一个文本文件,从文件头开始依次覆盖内容,此文件必须存在。“w+”:以读写模式打开一个文本文件,并将文件长度截为0,若文件不存在,则创建之。“a+”:以读写模式打开一个文本文件,可从文件尾依次追加内容,若文件不存在,则创建之。
这里要特别注意:
r和r+只能打开一个已存在的文件,它们之间的区别在于前者只能读,而后者还可以写。
对于一个已存在的文件来说,r+和w+的区别在于,前者是从文件头开始依次覆盖内容,而后者是先清空文件内容,再从头开始写入内容。
w和w+、a和a+的区别在于前者只能写,而后者还可以读。
若是追加模式,则相当于打开文件后的“光标”位置在文件末尾,此时若想实现诸如计算文件字符数量的功能,则需要把“光标”移至文件开头。
简单地来说就是,不带“+”号的只有读或写其中一项功能,带“+”号的两项都有,其中的区别就是写入的方式不一样而已。r+是覆盖写入,w和w+是清空后写入,a和a+是追加写入。以什么模式打开文件,那打开文件后的“光标”位置就在哪。对于能够写入的模式来说,它都能打开一个不存在的文件(即创建它)。
若是在写入模式后添加“b”,例如“rb”、“wb”、“a+b”等,则是以二进制模式打开文件,模式字符的顺序不重要,如“a+b”和“ab+”是等同的。
对于*NIX(如Unix、Linux、MacOS)类型系统来说,因为它的文件系统通常只有二进制一种,所以带不带“b”模式字符不重要,但为了更好的可移植性,建议还是完整的添加相应的模式字符。
0 0
- 『C语言』关于fopen函数的模式字符串
- C语言的fopen()函数
- fopen()函数模式字符串
- fopen函数模式字符串
- C语言函数fopen
- c语言fopen函数
- C语言函数fopen
- C语言函数 fopen
- c语言fopen函数
- C语言函数fopen
- c语言fopen函数
- c语言fopen函数
- [C语言]fopen()函数的参数说明
- C语言函数fopen,fclose的用法
- c语言fopen函数的总结
- c语言fopen函数中二进制模式和文本模式的区别
- 关于C语言字符串函数的思考
- 关于C语言字符串函数的思考
- i3 dmenu 更改后台打开还是终端打开
- centos 安装python3.5.2
- PAT B1015
- NOIP2016 Day2T1 组合数问题
- gdb调试手记
- 『C语言』关于fopen函数的模式字符串
- scrapy源码分析(五)--------------execute函数分析
- 欢迎使用CSDN-markdown编辑器
- 装机步骤(二)之显卡安装和接跳线
- Mapping
- 两个迭代处理以及显示
- js与jQuery对比
- 在git中出现中文乱码的解决方案
- @SkipValidation注解