fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
使用文件的方式共有12种
|
方式 |
意 义 |
|
"rt" |
只读打开 文本文件 |
|
"wt" |
只写打开或建立 文本文件 |
|
"at" |
追加打开 文本文件 |
|
"rb" |
只读打开 二进制文件 |
|
"wb" |
只写打开或建立 二进制文件 |
|
"ab" |
追加打开 二进制文件 |
|
"rt+" |
读写打开 文本文件 |
|
"wt+" |
读写打开或建立 文本文件 |
|
"at+" |
读写打开文本文件,可追加 |
|
"rb+" |
读写打开二进制文件 |
|
"wb+" |
读写打开或建立二进制文件 |
|
"ab+" |
读写打开二进制文件,可追加 |
说明:
1. 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read) 读 w(write) 写 a(append) 追加 + 读和写
t(text) 文本文件,可省略不写 b(banary) 二进制文件
2. 用"r"打开的文件只能读,且文件必须已经存在。
3. 用"w"打开的文件只能写。 若文件不存在,建立之,否则,覆盖之。
4. 用"a"打开的文件只能写,内容追加。文件必须已经存在,否则出错。
5. 打开文件出错时,fopen将返回 NULL。
6. 对于文本文件,读入内存时转换为二进制形式,写入硬盘时转换为文本形式,转换需要一点点时间。对二进制文件的读写不存在这种转换。
7. 文件使用完毕,应关闭之,以避免数据丢失等错误。
8. 标准输入文件(键盘),标准输出文件(显示器 ),标准出错输出(出错信息)由系统打开,可直接使用。
int fprintf(FILE *stream,const char *format,[argument])
fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.
%d 十进制有符号整数
%i 一个整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 自动选择合适的表示法
%n 等于读取字符数量的整数
%[] 一个字符集
%% 一个精度符号
int fscanf(FILE* stream,const char *format,[argument...]);
返回值:整型,成功读入的参数的个数
int fscanf_s(FILE* stream,const char *format,[argument...]);
fclose(文件指针)正常关闭时返回0,否则返回非零。
从ferror和feof获取错误信息或检测是否到达文件结尾
feof文件结束返回非0,否则返回0
int fseek( FILE *stream, long offset, int origin );
第一个参数stream为文件指针
第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET文件开头 SEEK_CUR当前位置SEEK_END文件结尾
fgetc函数
(1)一般调用形式 ch=fgetc(fp);
(2)作用 从指定的文件读入一个字符,即从fp所指向的文件中读入一个字符赋给ch。
(3)返回值
成功:返回值所得到的字符; 失败:返回EOF(-1)。
fputc函数
(1)一般调用形式 fputc(ch,fp);
(2)作用 把一个字符写到磁盘文件上去,即将字符ch输出到fp所指向的文件中去。
(3)返回值
成功:返回值就是输出的字符; 失败:返回EOF(-1)。
说明:函数putchar()是在stdio.h中用预处理命令定义的宏,即:
#define putchar(c) fputc(c,stdout)
char *fgets(char *str, int num, FILE *fp)
参数说明:str: 保存从文件读取出来的字符串
fp: 待读文件的文件指针
num: 表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'
int fputs(const char * s,FILE * stream)
fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结的更多相关文章
- fopen\fread\fwrite\fseed函数的使用
使用 <stdio.h> 头文件中的 fopen() 函数即可打开文件,它的用法为: FILE *fopen(char *filename, char *mode); filename为文 ...
- 读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
<?php /** * 读写大二进制文件,不必申请很大内存 * 只有读取到内容才创建文件 * 保证目录可写 * * @param string $srcPath 源文件路径 * @param s ...
- linux缓冲的概念fopen /open,read/write和fread/fwrite区别
fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...
- fopen /open,read/write和fread/fwrite区别
fopen /open,read/write和fread/fwrite区别 转载URL:http://hi.baidu.com/%B9%C8%C9%F1%B2%BB%CB%C0jdp/ ...
- 文件流:"fopen","fclose",“ftell”"fseek","fgets","fprintf" ,“feof”,"fwrite","fread"
char const* filename="D:/hello.txt"; 路径名使用的是“/”或者使用 转义字符“\\”: "fopen", FILE *fp= ...
- C语言fprintf, fwrite, fscanf, fread混用问题
int main(int argc, const char * argv[]) { // insert code here... FILE * fp = fopen("test.txt&qu ...
- C/C++读写文件的几种方法fstream fopen、fwrite()、fread()操作
C中采用的主要是文件指针的办法,C++中对文件的操作主要运用了"文件流"(即非标准的输入输出)的思想 c读写文件fopen C 库函数 FILE *fopen(const char ...
- fseek ftell rewind
下面几个函数的头文件 : <stdio.h> fseek int fseek( FILE *stream, long offset, int origin ); 第一个参数stream ...
- 那些年,坑死自己的事之fread/fwrite
今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...
随机推荐
- EF支持复杂类型的实现
本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作.通常,复杂类型是指那些由几个简单的类型组合而成的类型.比如:一张Customer表,其中有FristName和Last ...
- 实体框架(Entity Framework)简介
实体框架(Entity Framework)简介 简称EF,与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R ...
- MasterCard信用卡测试卡号-creditcard-1
MasterCard信用卡测试卡号-creditcard-1 510510510510510051111111111111185454545454545454550000000000000455555 ...
- fstat().stat()函数
int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); 唯一不同是参数不同,其他一样. 文 ...
- spring拦截器
一:拦截器配置 <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path=&qu ...
- 使用localstorage及js模版引擎 开发 m站设想
目前 m站开发的方式,依然请求完整的html,这样造成的问题就是每次请求的数据量过大过多,在没有wifi的情况下,导致页面打开的速度很慢,耗费的流量也较多:访问m站的多是移动端设备,其浏览器的版本都较 ...
- 【转】PFILE和SPFILE介绍
原文:http://blog.sina.com.cn/s/blog_77bba23901017xcl.html 一.PFILE Pfile(Parameter File,参数文件)是基于文本格式的参数 ...
- 文字以及div水平垂直居中
文字以及div水平垂直居中.md <div class=”content”> <div class=”mydiv”> huangyingnin! </div>< ...
- MySQL簇-cluster
http://www.php100.com/manual/MySQL/ndbcluster.html 先做个标记吧.
- python【第二十一篇】Django模板继承、分页、cookie验证
1.模板继承 母版master.html {% block title %}{% endblock %}2 {% block table-cont %}{% endblock %} 子板 {% ext ...