fopen与读写的标识r,r+,rb+,rt+,w+.....

函数简介

  函数功能: 打开一个文件

  函数原型:FILE * fopen(const char * path,const char * mode);

  相关函数:openfclose,fopen_s[1] ,_wfopen

  所需库: <stdio.h>

  返回值: 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。

  一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。

  参数说明:

  参数path字符串包含欲打开的文件路径及文件名,参数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"等,读者注意所用系统的规定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF(Windows Presentation Foundation)Overview

在Windows NT中&#xff0c;图形多媒体系统基于层次结构。应用程序与顶层的API&#xff08;实际上是多个用户模式的系统DLL&#xff0c;比如GDI32.DLL&#xff09;交互&#xff0c;这些系统DLL最终会通过系统服务调用处于内核模式的系统服务。NT系统的详细信息可参考《Windows …

10年深圳,回去了

十年前&#xff0c;2012年&#xff0c;我们毕业。毕业后&#xff0c;我们很多人都选择来深圳&#xff0c;那时候的想法很简单&#xff0c;深圳有我们想要的工作&#xff0c;我们很多人都是村里来的孩子&#xff0c;没有背景&#xff0c;家里也没有矿。考不上公务员也不想去做老…

shell比较运算符

运算符描述示例文件比较运算符-e filename如果 filename 存在&#xff0c;则为真[ -e /var/log/syslog ]-d filename如果 filename 为目录&#xff0c;则为真[ -d /tmp/mydir ]-f filename如果 filename 为常规文件&#xff0c;则为真[ -f /usr/bin/grep ]-L filename如果 file…

fopen、fwrite使用

函数fopen 1.函数简介 函数功能&#xff1a;打开一个文件 函数原型&#xff1a;FILE * fopen(const char * path,const char * mode); 相关函数&#xff1a;open&#xff0c;fclose&#xff0c;fopen_s[1]&#xff0c;_wfopen 所需库&#xff1a; <stdio.h> 返回值&…

树莓派安装CentOS

1.下载并安装&#xff0c;这里使用的是 centos系统地址:http://mirror.centos.org/altarch/7/isos/armhfp/ 下载CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1804-sda.raw.xz解压并烧录到TF卡 默认用户名root密码centos 2.连接wifi nmcli d nmcli d wifi  #查看周围的…

android studio导入eclipse项目各种问题,Android | 导入Eclipse项目到Android studio的问题解决全过程...

D老师今天给了一个Android项目&#xff0c;但是他当时(2015年)用的是eclipse写的而我用的是Android studio&#xff0c;所以在导入项目的过程中出现了一些常见的问题&#xff0c;在这里总结一下解决的问题的过程。1.eclipse项目导入到Android studio的过程&#xff1a;File->…

《WEB应用测试》笔记(六)

《WEB应用测试》笔记&#xff08;六&#xff09;第三章 软件测试基础 18、软件开发阶段的常见范例&#xff08;1&#xff09;a版&#xff1a;产品主要的和达成共识的部分已经完成。产品准备投入内部使用。&#xff08;2&#xff09;B前期版本&#xff1a;提交进行B验收的构造版…

蜡烛节能车模

❝简 介&#xff1a; 本文给出了几款使用蜡烛驱动的车模。关键词&#xff1a; 蜡烛&#xff0c;车模01 蜡烛车模1.1 蜡烛光电池点上蜡烛就能跑&#xff0c;DIY制作玩具汽车小模型The Energy of the Candle. Car Model[4]▲ 图1.2 蜡烛驱动的智能车模▲ 图1.1.3 光电池车模▲ …

Xen Desktop测试报告

Xen Desktop测试报告 &#xff08;九叔最近写的一个测试报告&#xff0c;仅供参考&#xff0c;可能结论不适合你们公司&#xff09; 目的 测试目的&#xff1a;本次测试周期耗时两周&#xff08;2011.11.14-2011.11.24&#xff09;&#xff0c;主要为了理解思杰的桌面虚拟化&am…

Linux基础提高_系统性能相关命令

w 看系统的负载信息 用于显示已经登陆系统的用户列表&#xff0c;并显示用户正在执行的指令 uptime [rootlocalhost]#uptime 17:26:07 up 9:02, 3 users, load average: 0.00, 0.00, 0.00 能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为…

去广州见了我大学老师标哥

标哥是我的大学老师。标哥也是我们很多学生公认上课非常好的老师&#xff0c;最近标哥突然想见见我这个年轻仔&#xff0c;让我去广州见见他&#xff0c;当然&#xff0c;并不是说他不能来深圳&#xff0c;见面的时候标哥特意给我们解释了一遍&#xff0c;我肯定是能理解他的良…

fseek和ftell

fseek函数是 用来设定文件的当前读写位置. 函数原型: int fseek(FILE *fp,long offset,int origin); 函数功能:把fp的文件读写位置指针移到指定的位置. fseek(fp,20,SEEK_SET); 意思是把fp文件读写位置指针从文件开始后移20个字节. ftell函数是用来获取文件的当前读写位置…

Java与.Net 在RSA加密方面能不能互相通讯操作???

最近接触了一个案例. 如下:系统A: Java平台, 对信息进行RSA加密. 注意: 是用私钥加密.系统B: .Net平台, 要对信息进行RSA解密证书: 中Java中提供的工具Keytool.exe生成.为了证明解决方案的可行性.我做了以下测试:1>. RSA私钥加密,公钥是否可解(Java代码测试)结果: 可解. (…

本地html页面传递表单值,js实现两个页面表单传值并接收

js 实现两个页面表单传值并接收源码A页面&#xff1a;functiontest(){var s document.getElementById("txt");location.href"2.html?""txt"encodeURI(s.value);}第一个页面表单中输入文字或其他值。B页面代码&#xff1a;var loclocation.href;…

[SCOI2009]最长距离

Description windy有一块矩形土地&#xff0c;被分为 NM 块 11 的小格子。 有的格子含有障碍物。 如果从格子A可以走到格子B&#xff0c;那么两个格子的距离就为两个格子中心的欧几里德距离。 如果从格子A不可以走到格子B&#xff0c;就没有距离。 如果格子X和格子Y有公共边&am…

维修点滴:键盘进杂物

还是那台使用USB口连接打印机的计算机&#xff0c;出现故障。 故障现象是&#xff1a;鼠标放在有上下左右的文件或者栏目上&#xff0c;就上下左右的乱串——怪不得叫鼠标&#xff0c;呵呵。 我刚开始以为是电脑中病毒了&#xff0c;就重做系统&#xff08;也顺便安装了打印机驱…

说好的薪资统计

本来是不想把最后的统计发出来的&#xff0c;但是后台很多同学都想看看嵌入式的薪资&#xff0c;我自己也答应了会发出来&#xff0c;所以趁着这个假期再发一次&#xff0c;也让大家做个参考。不想发的原因是因为担心有别有用心的人拿这个薪资来做比较&#xff0c;多少会让大家…

STL面试题

http://blog.csdn.NET/tianya_team/article/details/50753759 1.说说std::vector的底层&#xff08;存储&#xff09;机制。 vector就是一个动态数组&#xff0c;里面有一个指针指向一片连续的内存空间&#xff0c;当空间不够装下数据时&#xff0c;会自动申请另一片更大的空间…

实现IButtonControl接口时, PerformClick()方法的代码怎么写,请高手指导!

在做WinForm时&#xff0c;想做一个像Asp.Net里的ImageButton的控件&#xff0c;于是自己写了一个自定义控件&#xff0c;名为&#xff1a;ImageButton&#xff0c;继承PictureBox类&#xff0c;并实现IButtonControl接口&#xff0c;但是实现IButtonControl接口时必须重写IBut…

html5 网络断开,html5 – websocket不断断开连接

我一直在努力建立一个在浏览器中运行的websocket聊天室.我已经做了一些谷歌搜索,并找到了一个提供示例websocket连接的网站(www.websocket.org/echo.html).但每当我尝试“连接”按钮时,它会立即显示“已断开连接”,并且我无法发送消息(这只发生在Chrome上).所以我在Firefox上尝…