fopen 參数具体解释
fopen
相关函数 open,fclose
表头文件 #include<stdio.h>
定义函数 FILE * fopen(const char * path,const char * mode);
函数说明 參数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 值。
返回值
文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
附加说明
一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误推断及处理。
【例程】
#include <stdio.h>
#include <stdlib.h> //为了使用exit()
int main()
{
int ch;
FILE* fp;
char fname[50]; //用于存放文件名称
printf("输入文件名称:");
scanf("%s",fname);
fp=fopen(fname,"r"); //仅仅供读取
if(fp==NULL) //假设失败了
{
printf("错误!");
exit(1); //中止程序
}
//getc()用于在打开文件里获取一个字符
while((ch=getc(fp))!=EOF)
putchar(ch);
fclose(fp); //关闭文件
return 0;
}
fopen 參数具体解释相关推荐
- RPM安装包-Spec文件參数具体解释与演示样例分析
spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件. 1.Spec文件參数 spec文件包括建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个 ...
- TVS參数具体解释及选型应用
一.首先了解TVS管的參数,我们以littelfuse的5.0SMDJ系列为例. 图1 图2 最大峰值脉冲功率 Maximum Peak Pulse Power Pppm峰值脉冲功率为ESD器件上瞬间 ...
- 具体解释可变參数列表
可变參数 至少有一个參数 比如:void add(int a,- ){} 例题 模拟printf()函数 #include <stdio.h> #include <stdarg ...
- MySQL具体解释(21)------------缓存參数优化
数据库属于 IO 密集型的应用程序.其主要职责就是数据的管理及存储工作. 而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优 ...
- 运放參数解释及经常使用运放选型
集成运放的參数较多,当中主要參数分为直流指标和交流指标,外加全部芯片都有极限參数. 本文以NE5532为例,分别对各指标作简单解释. 以下内容除了图片从NE5532数据手冊上截取,其他内容都整理自网络 ...
- Ngnix中的fastcgi參数性能优化和解释
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/37737823 优化性能參数设置,在 ...
- java參数传递机制浅析
欢迎转载,转载请声明出处! ----------------------------------------- 前言: java语言中,參数的传递仅仅有一种机制.那就是值传递. 举例: 以下将通过几个 ...
- Rust 1.7.0 处理命令行參数
std是 Rust 标准函数库: env 模块提供了处理环境函数. 在使用标准函数库的时候,使用 use 导入对应的 module . 一.直接输出 use std::env;fn main(){fo ...
- 使用JDBC改变Oracle的session參数 NLS_DATE_FORMAT
近期项目除了一个问题,场景大概是这种,项目在国外开发.在项目开发过程中使用了大量的Oracle函数TO_DATE,可是开发者没有写第二个參数. 所以项目在国外的server上能够正常执行.但是在国内的 ...
最新文章
- Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解
- ubuntu 安装redis
- linux 环境变量LD_PRELOAD简介 定义优先加载的动态链接库
- [Python正则表达式] 字符串中xml标签的匹配
- [力扣leetcode319]灯泡问题
- 发布订阅之fanout
- How to change max_allowed_packet size
- 漫画:什么是布隆算法
- iOS各种小理论知识
- Arcgis遇到的各种问题的解决方法暨处理数据分析的一些好习惯
- SVN工作笔记002---svn提示上次操作有误,请执行cleanup
- js闭包原理与例子[转]
- C++设计模式从入门到精通——实例说明
- c语言hook函数,另类iOS上的C函数hook
- 关于自己学C的点滴记录
- Comet OJ C1964 I am Groot
- docker一个镜像启动多个容器的操作
- pandas 错误提醒:FutureWarning: elementwise comparison failed;
- Word小写转大写-大写转小写
- CSS基础选择器、字体和文本样式
热门文章
- 解决macOS Sierra 隐藏“允许任何来源的应用”选项问题
- thinkphp-volist4
- python 网络请求类库 requests 使用
- 长江浪漫水城2008年度营业时间和票价
- 力扣算法题—095不同的二叉搜索树【二叉树】
- extract-text-webpack-plugin
- CentOS 6.2目录服务之LDAP(一)
- VK Cup 2016 - Round 1 (Div. 2 Edition) A. Bear and Reverse Radewoosh 水题
- 不使用库函数将字符串转换为数字
- promiseKit 解析 iOS