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 ...
随机推荐
- Ubuntu不卸载ibus前提下安装搜狗输入法
第一步 在命令行中输入以下行命令安装fictx框架 sudo apt-get install fcitx fcitx-config-gtk im-switch 第二步 去 http://pinyin. ...
- css动画怎么写:3个属性实现
3个属性:transition,animation,transform 实现步骤: 1.css定位 2.rgba设置颜色透明度 3.转换+动画 transform+animation 4.动画平滑过渡 ...
- 在windows下的mysql使用
具体可参照http://jingyan.baidu.com/article/3aed632e19b5e8701080918f.html 1.安装mysql. 直接百度搜索mysql下载.
- #Leet Code# Populating Next Right Pointers in Each Node II
描述:注意需要先self.connect(right)再self.connect(left),否则会有case通不过,原因是左边递归执行时依赖与右边的next已经建立,而先执行connect(left ...
- Flink 另外一个分布式流式和批量数据处理的开源平台
Apache Flink是一个分布式流式和批量数据处理的开源平台. Flink的核心是一个流式数据流动引擎,它为数据流上面的分布式计算提供数据分发.通讯.容错.Flink包括几个使用 Flink引擎创 ...
- Lucene4.9学习笔记——Lucene建立索引
基本上创建索引需要三个步骤: 1.创建索引库IndexWriter对象 2.根据文件创建文档Document 3.向索引库中写入文档内容 这其中主要涉及到了IndexWriter(索引的核心组件,用于 ...
- Case When PK PIVOT
SELECT *FROM ScoreInfogo Name Course Score---------- ---------- -----------Lucy Chinese 74Jim Math 8 ...
- Python中类的运算符重载
这篇文章仅仅是总结性质的,待以后有时间的时候会针对比较难理解的部分补充一些例子. 构造和析构 __init__ __del__ 函数调用 __call__ 打印操作 __str__ __repr__ ...
- python中self.__class__
1. python中的self python中的self就相当于C++中的this指针也就是指向对象本身的指针self.name = name 就是当前对象的成员变量name赋值为name. 2.py ...
- Mysql table ful
http://ourmysql.com/archives/1327 http://blog.csdn.net/kevon_sun/article/details/7967728 http://my.o ...