例题3-文件操作
来源:互联网 发布:seo视频教程 编辑:程序博客网 时间:2024/06/11 21:27
之前用的不多,见到时有点懵,记录以备查阅
fopen打开文件
返回FILE*,如果该指针为NULL,表未打开文件
比较简单,两个参数,第一个为文件,第二个为模式
其中“r”只读;“w”写入;"a"追加写入
“w+b”b区分二进制文件(windows下);linux不区分
写入有int类型,也是二进制的范围。单纯char的才用w+.
w是以文本方式打开文件,wb是二进制方式打开文件,以文本方式打开文件时,fwrite函数每碰到一个0x0A时,
就在它的前面加入0x0D.其它内容不做添加操作
fseek
头文件stdio.h
重定位流上的文件指针
原型:
int fseek(FILE *stream, long offset, int fromwhere);
参数介绍: stream为文件指针。从fromwhere开始,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。
fread与fwrite 写入与读取
调用:
size_t fread( void * buffer,size_t size,size_t n, FILE * fp);
fp文件指针,读n个字段,每个size字节,放入buffer中;
返回实际读取的字节数
size_t fwrite( void * buffer,size_t size,size_t n, FILE * fp);
参数同上
rewind
原型:void rewind(FILE *fp)
作用:使文件fp的位置指针指向文件开始。
ftell(fp)获得当前的位置指针
fclose关闭文件
此外,还有
int fgetc(fp);
int fputc(int c, fp);
fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中.
读取写入字符
例题:
#includemain(){ FILE *fp; int i,a[ 6]={1,2,3,4,5,6},k; fp = fopen ("data.dat", "w+b"); for (i=0;i<6;i+ +) { fseek(fp,0L,0); fwrite(&a[5—i],sizeof(int),1,fp); }//反复在第一行覆盖写入,最终写入1 rewind(fp);//文件指针重置指向开头 fread(&k,sizeof(int),1,fp);//读取第一行k为1 fclose(fp); printf("%d",k);}
同时应注意读取写入时内容的大小,类型
文件指针
是文件操作系统数据结构内部的一种数据指针,它用于标注文件当前读写位置,C语言中,文件指针以字节为单位,
C语言的文件指针采用long型值;
执行文件读/写操作后,文件指针自动向后移动,指到新的待读/写位置。
- 例题3-文件操作
- PV操作例题
- PV操作例题解析
- Oracle数据库操作例题
- 多线程操作例题
- 文件例题(一)
- 文件例题(二)
- 文件例题(三)
- 文件例题(四)
- 文件例题(五)
- 文件例题(六)
- 【典型例题】复制文件
- PV操作例题(转)
- c语言位操作例题
- PV原语操作例题
- 【操作系统】PV操作例题分析
- 例题5.16 Halum操作 UVa11478
- [例题]VB操作Excel (1)[用VB创建一个xls文件][并向里面写入一个数据]
- Fragment+ViewPager 实现仿微信页面(不管内容)
- FZU 2203 单纵大法好 (二分+贪心)
- 九大内置对象
- cshtml 未能找到类型或命名空间名称“PagedList”(是否缺少 using 指令或程序集引用?)
- 加载动画效果
- 例题3-文件操作
- 数学——cf 735 C
- 几行代码看懂单例模式
- PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
- MAVEN手动安转本地jar
- cocos2d之CCRotateTo、CCRotateBy
- 学习Linux你必须知道的那些事儿
- [CF538A]Cutting Banner
- Android实现带有listview的PopupWindow