fseek c语言指针移动函数
来源:互联网 发布:网络安全教育主题班会 编辑:程序博客网 时间:2024/06/05 11:29
转自:http://hi.baidu.com/wengjiang000/item/867ead5da7d95c10abf6d736
通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新从某处起,再读一次.
fseek(in,-1L,1); -- 文件流in, 零点为当前指针位置,SEEK_CUR 就是 1, -1L -- 文件指针回退1个字节int fseek( FILE *stream, long offset, int origin );
第一个参数stream为文件指针
第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.
简言之:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。
功 能: 将文件指针重新指向一个流的开头
用 法: int rewind(FILE *stream);函数原型: long ftell(FILE *fp)
函数功能:得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数.
fread
功 能: 从一个流中读数据
函数原型: size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);
参 数:
1.用于接收数据的地址(指针)(buffer)
2.单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节
3.元素个数(count)
4.提供数据的文件指针(stream)
返回值:成功读取的元素个数 程序例 #include <stdio.h>
int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];
if ((stream = fopen("DUMMY.FIL", "w+"))
== NULL)
{
fprintf(stderr,
"Cannot open output file.\n");
return 1;
}
/* write some data to the file */
fwrite(msg, strlen(msg)+1, 1, stream);
/* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);
/* read the data and display it */
fread(buf, strlen(msg)+1, 1,stream);
printf("%s\n", buf);
fclose(stream);
return 0;
}
- fseek c语言指针移动函数
- fseek fread c语言指针移动函数(转)
- C语言fseek()函数:移动文件流的读写位置
- C语言fseek函数了解
- fseek() 移动文件指针
- C语言:fseek与ftell函数
- c语言fseek函数的总结
- PHP移动文件指针ftell()、fseek()、rewind()函数总结
- c文件操作之位置指针设置函数fseek
- c fseek()函数使用
- C语言学习:fseek与ftell函数(转载)
- C语言学习进程:fseek与ftell函数
- C语言函数fread() , fwrite() ,fseek()用法分析
- C语言学习进程:fseek与ftell函数
- C语言几个文件操作函数fopen(),fseek(),fscanf(),fwrite()
- C语言函数fseek, fread, ftell的使用
- C语言的文件随机访问fseek()和ftell()函数
- c语言fseek、fscanf用法
- 精确到时分秒的jQuery插件例子
- 数据库--函数--Oracle
- flex 、blazeds、j2ee生成不了html
- HDU 1422 重温世界杯
- R6025调用纯虚函数错误
- fseek c语言指针移动函数
- Puppet报错Could not match
- 感觉比较好学习php和javascript网站和博客
- 一个网卡配置多个ip:[root@localhost ~]# ifconfig eth0:1 192.168.10.64 netmask 255.255.255.0 up
- 字符串打印自动换行
- android多分辨率适配问题
- ECMAScript arguments 对象
- Eclipse 常用快捷键
- 设计递归算法x(x(8))需要调用几次函数x(int n)?