fseek 和fread、fwrite的区别
2010-03-27 22:20
232 查看
fseek 和fread、fwrite
#include"stdio.h"
fseek(文件类型指针fp,位移量,起始点);
函数功能:把与fp有关的文件位置指针放到一个指定位置其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
:
例如:
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
其作用是将位置指针移到离文件头50个字节处。
ftell
调用形式:
函数功能:得到流式文件中的当前位置,其返回值是当前位置相对于文件开头的字节数。
返回值:出错时返回-1L。
size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
buffer 是读取的数据存放的内存的指针
size 是每次读取的字节数
count 是读取次数
strean 是要读取的文件的指针
例如 从文件fp里读取100个字节 可用以下语句
fread(buff,100,1,fp)
fread(buff,50,2,fp)
fread(buff,1,100,fp)
如果想实现从某个文件中一次次N个字节般读出来,那建议不要用
read = fread(buff,N,1,data_file);
因为就算当文件的字节数比N大,但这时strlen(buff)绝不是N个字节大小!!也不是read个字节大小!!
查帮助文档,可知,read是指成功读入的单元块数,这里对应的就是,read要么是1,要么是0(由第三个参数决
定)!
#include"stdio.h"
fseek(文件类型指针fp,位移量,起始点);
函数功能:把与fp有关的文件位置指针放到一个指定位置其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
:
起始点 | 对应的数字 | 代表的文件位置 |
SEEK_SET | 0 | 文件开头 |
SEEK_CUR | 1 | 文件当前位置 |
SEEK_END | 2 | 文件末尾 |
例如:
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
其作用是将位置指针移到离文件头50个字节处。
调用形式:
#include"stdio.h" long ftell(fp); |
返回值:出错时返回-1L。
size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
buffer 是读取的数据存放的内存的指针
size 是每次读取的字节数
count 是读取次数
strean 是要读取的文件的指针
例如 从文件fp里读取100个字节 可用以下语句
fread(buff,100,1,fp)
fread(buff,50,2,fp)
fread(buff,1,100,fp)
如果想实现从某个文件中一次次N个字节般读出来,那建议不要用
read = fread(buff,N,1,data_file);
因为就算当文件的字节数比N大,但这时strlen(buff)绝不是N个字节大小!!也不是read个字节大小!!
查帮助文档,可知,read是指成功读入的单元块数,这里对应的就是,read要么是1,要么是0(由第三个参数决
定)!
相关文章推荐
- fseek 和fread、fwrite的区别
- 标准文件操作的函数,fprintf,fseek,fread,fwrite,feof,ferror, clearerr
- fseek,fwrite,fread使用
- 文件操作fopen, fclose, fread, fwrite, fseek, ftell
- 15:文件操作(C标准库函数)fopen/fclose/fread/fwrite/fseek/fprintf/fscanf
- fseek、fread和fwrite
- fseek fread fwrite fgetc fgets的用法
- fread与read的区别---open和fopen的区别--fread函数和fwrite函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- 转linux read/write和fread/fwrite有什么区别
- open,write,read与fopen,fwrite,fread的区别
- [C++]fread/fwrite/fseek/ftell
- linux 中 read/write与fread/fwrite 的区别
- read/write/fsync与fread/fwrite/fflush的关系和区别
- linux read/write和fread/fwrite有什么区别
- read/fread write/fwrite 的区别
- open/read/write和fopen/fread/fwrite的区别
- fread fwrite read write 区别
- strtok()函数、fseek()函数、fwrite()函数、fread()函数的使用