C语言中文件操作笔记
来源:互联网 发布:马略改革 知乎 编辑:程序博客网 时间:2024/05/22 16:41
1.打开文件函数
FILE *fopen(*fileName,*mode);
函数的返回值是一个文件指针;
fileName:表示打开文件的名称;
mode:表示打开方式;(同上一篇博客中Matlab中的fopen函数)
注意:matlab中文件名和mode用单引号,C语言中用双引号。
2.读取文件
int fread(void *buffer,unsigned sife,unsigned count,FILE *fp)
参数说明:
buffer:void类型的指针,是读出的数据块存放区域的首地址;
sife:表示一个数据块的字节数;
count:数据块个数;
fp:文件指针,表示要从该文件中读取数据;
注:该函数读取数据的大小为sife*count;
返回值:
正常返回值为count;
异常返回值为0;可由feof()和ferror()来判定出现了什么情况。
3.写入文件
int fwrite(void *buffer,unsigned sife,unsigned count,FILE *fp)
参数说明:
buffer:void类型的指针,是读出的数据块存放区域的首地址;
sife:表示一个数据块的字节数;
count:数据块个数;
fp:文件指针,表示要从该文件中读取数据;
注:该函数读取数据的大小为sife*count;
返回值:
正常返回值为count;
异常返回值为0,表示输出发生错误。
4.文件定位
int fssek(FILE *fp,long offset,int base)
功能说明:
使fp指针指向基于base偏移offset字节的位置。
参数说明:
fp:文件指针
offset:相对于base的字节偏移量。长整型,支持大于64KB的文件。
base:文件指针移动的基准位置,计算文件指针位移的基点。
返回值:
正常返回指针位置;
异常返回-1;
注:
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
5.确定文件指针的当前位置
long ftell(FILE *fp);
功能:
获得文件指针当前相对于文件首的偏移字节数;
#include<stdio.h>#include<malloc.h>int main() { FILE *fp,*fd; long length; float *buffer; fp = fopen("test.bin", "rb"); if (fp== NULL) { printf("The file can not be opend."); return -1; } //获取数据长度 fseek(fp,0,SEEK_END); length = ftell(fp); //文件指针重新指向 fseek(fp, 0, SEEK_SET); int state = 0; buffer = (float *)malloc(length); state=fread(buffer, sizeof(float), length / sizeof(float), fp); if (state == 0) { printf("The data can not be read!"); return -1; } fd = fopen("readData.bin","wb"); if (fd == NULL) { printf("The file can not be opend."); return -1; } state=fwrite(buffer,sizeof(float),length/sizeof(float),fd); if (state == 0) { printf("data can not be write!"); } fclose(fp); fclose(fd); free(buffer); return 0;}
参考文献
http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html
- C语言中文件操作笔记
- C语言中文件操作
- C语言中文件操作
- C语言中文件操作备忘录(一)
- c语言中文件的操作
- C语言中文件的操作
- C语言中文件操作函数
- C语言中文件的操作
- c语言中文件的操作
- c语言中文件相关操作
- C语言中文件操作总结
- C语言中文件的基本概念 笔记
- OutMan——C语言中文件的操作
- C中文件的操作。。。。
- 015_C语言中文件操作
- C语言中文件的读写
- C语言中文件的输入输出
- c语言中文件读写:fscanf & fprintf
- HPUX下虚拟技术IVM的使用整理
- NOIP2014提高组A.石头剪刀布
- OpenCV 系列 --- 交互(一)滑动条
- 三种快排及四种优化方式
- 堆排序
- C语言中文件操作笔记
- 电路设计中三极管和MOS管做开关用时的区别
- 程序设计基础(C语言)课程主页-2016级
- python爬虫架构
- Markdown入门
- POJ 2485
- leetCode练习(21)
- 导入android项目出现:出现Unable to resolve target 'android-8'错误的解决方法
- 在res/xml中的文件