此文用于学习交流

原作:http://www.cnblogs.com/ai616818/archive/2012/04/26/2470918.html

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"等,读者注意所用系统的规定。

fopen函数的模式字符串可以用6个字符组成
r(read)    读
w(write)     写
a(append)    追加
t(text)    文本模式
b(banary)    二进制模式
+      读取和写入

http://www.cnblogs.com/ai616818/archive/2012/04/26/2470918.html

fopen参数的更多相关文章

  1. c语言之fopen参数(r+,w+,a+)

    经查找一些资料,并且亲自实验之后得出: r+:打开已存在的文件时,光标位于开头,文件可读,可写, 写数据时,由于光标位于开头,所以会覆盖原有数据 w+:打开的文件已存在时,将覆盖原文件 a+:打开已存 ...

  2. PHP fopen和fwrite函数实现创建html页面

    思路 用fopen函数和fread函数得到模板,然后用str_replace函数替换模板标签为变量,最后用fwrite函数输出新的HTML页面 index.html模板页面 <!DOCTYPE ...

  3. 【PHP】文件写入和读取详解

    文章提纲: 一.实现文件读取和写入的基本思路 二.使用fopen方法打开文件 三.文件读取和文件写入操作 四.使用fclose方法关闭文件 五.文件指针的移动 六.Windows和UNIX下的回车和换 ...

  4. PHP 文件写入和读取(必看篇)

    文章提纲: 一.实现文件读取和写入的基本思路 二.使用fopen方法打开文件 三.文件读取和文件写入操作 四.使用fclose方法关闭文件 五.文件指针的移动 六.Windows和UNIX下的回车和换 ...

  5. php的语法

    常量:不变的量: php 设置常量的方法:define()方法: define("常量名","常量的值",true) 参数三:大小写是否敏感: php中的常量, ...

  6. 2019-10-9:渗透测试,基础学习,php文件上传,mysql基础

    header("Content-Type:text/html;charst="utf-8")设置头部信息,解决编码问题setcookie("loginStrin ...

  7. fopen的第一个参数不能有'\n'

    我刚才写了个程序, 需要操作两个文件.  我用fgets获取标准输入流stdin中的文件名, 然后用fopen打开. 结果编译器总是抱错.  调试了一下,发现fopen返回的是NULL. 我在此处加了 ...

  8. fopen()函数中参数mode的取值

    FILE * fopen(const char * path,const char * mode); 参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存 ...

  9. [c/c++]fopen用法及参数介绍

    函数定义: FILE * fopen ( const char * filename, const char * mode ); 参数mode: "r" read: 为输入操作打开 ...

随机推荐

  1. 利用谷歌开源工具cAdvisor 结合influxdb存储+Grafana前端展示进行Docker容器的监控

    一.Docker 监控方式 1.利用docker 的 docker stats API 命令: docker stats [容器ID/容器名称] [root@docker ~]# docker sta ...

  2. 分析 OVS 如何实现 vlan 隔离 - 每天5分钟玩转 OpenStack(140)

    上一节我们完成了 OVS vlan 环境的搭建,当前拓扑结构如下: cirros-vm1 位于控制节点,属于 vlan100. cirros-vm2 位于计算节点,属于 vlan100. cirros ...

  3. Myeclipse8.5 反编译插件 jad 安装(转)

    准备工作 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip 下载jadeclipse插件:ht ...

  4. 001.net开发环境与变量

    1 .net 技术平台,用来创建互联互通的应用程序 2 应用 嵌入式开发企业级应用 3 .NET Framework 技术:公共语言运行时 .NET Framework的工作模式:.NetC#> ...

  5. SSM框架注解整合

    一.web应用环境 1.ServletContext 对于一个web应用,其部署在web容器(比如:tomcat)中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext, ...

  6. Wireshark网络抓包(四)——工具

    一.基本信息统计工具 1)捕获文件属性(Summary) 1. File:了解抓包文件的各种属性,例如抓包文件的名称.路径.文件所含数据包的规模等信息 2. Time:获悉抓包的开始.结束和持续时间 ...

  7. vs生成配置release自动恢复成debug无法配置的问题

    软件为visual studio 2015,右键单个项目选属性,设置“生成配置”release,保存后,再次右键属性,却发现又自动恢复成debug,怎么回事?是无法配置吗?点击生成试试,果然2b了. ...

  8. java反射的理解与应用(某大神博客中看到的博文,写的真的太好了,果断转载作为笔记)

    原文地址:http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html#undefined 一.什么是反射机制 简单的来说,反射机制指的是程序 ...

  9. gridView 主从表实现

    1.主要代码: private void Form2_Load(object sender, EventArgs e) { DataTable dt1 = new DataTable("dt ...

  10. spring boot项目发布tomcat容器(包含发布到tomcat6的方法)

    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...