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 ...
随机推荐
- svg学习笔记(二)
SMIL animation演示代码集锦 <svg width="1400" height="1600" xmlns="http://www.w ...
- 转换rgb为16进制颜色值
function rgb2hex(rgb) { rgb = rgb.match(/^rgb\((\d+),(\d+),(\d+)\)$/); function hex(x) { return (&qu ...
- Delphi实用小function
Write Log // strLog : the log content need write to log file; // strFile: the compliete file path(in ...
- App在后台运行
App有三种状态: 1. 死亡状态(未打开App); 2. 前台运行状态(打开状态); 3. 后台暂停状态(停止所有动画, 定时器, 多媒体联网等操作) 4. 后台运行状态(后台运行); ------ ...
- iOS项目架构文档
设计的项目架构主要引用MVVM+MVC架构,并以功能模块分级.以下为目录结构. 初级目录: 我们只需要关注SGZH文件夹下的目录,其他为Xcode管理的目录.可以看到此目录为项目初级目录,我们开发过程 ...
- 时序图(Sequence Diagram)
控制焦点Focus on Control 的取值: Alternative fragment(denoted “alt”) 与 if…then…else对应 Option fragment (deno ...
- bzoj 1200: [HNOI2005]木梳 DP
1200: [HNOI2005]木梳 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 266 Solved: 125[Submit][Status] ...
- keybd_event函数用法
转自不用winio,直接达到驱动级模拟键盘效果的keybd_event函数用法 键盘模拟技术是在编写游戏外挂时经常使用的技术.但是由于很多游戏采用了directinput的方式,使得发送的一般键盘消息 ...
- 两种方法,获取磁盘剩余空间--PYTHON
import ctypes import os import platform import sys def get_free_space_mb(folder): """ ...
- 【良心noip膜你赛】总结
一点都不良心!!!! AK 快乐爆零快乐!!! 1. A. value512mb 1s规定一个区间的价值为这个区间中所有数 and 起来的值与这个区间所有数 or 起来的值的乘积.例如 3 个数 2, ...