考试网 >> IT认证 >> 等级 >> 等级动态 >> C教程-----输入输出函数及控制流程语句(3)

C教程-----输入输出函数及控制流程语句(3)

发布时间:2006-07-25 11:59     点击:
分页:[1] 2 3 4  下一页

3. 文件的随机读写

有时用户想直接读取文件中间某处的信息, 若用文件的顺序读写必须从文件

头开始直到要求的文件位置再读, 这显然不方便。Turbo C2.0提供了一组文件的

随机读写函数, 即可以将文件位置指针定位在所要求读写的地方直接读写。

文件的随机读写函数如下:

int fseek (FILE *stream, long offset, int fromwhere);

int fread(void *buf, int size, int count, FILE *stream);

int fwrite(void *buf, int size, int count, FILE *stream);

long ftell(FILE *stream);

fseek()函数的作用是将文件的位置指针设置到从fromwhere开始的第offset

字节的位置上, 其中fromwhere是下列几个宏定义之一:

文件位置指针起始计算位置fromwhere

━━━━━━━━━━━━━━━━━━━━━━━━━━━

符号常数 数值 含义

───────────────────────────

SEEK_SET 0 从文件开头

SEEK_CUR 1 从文件指针的现行位置

SEEK_END 2 从文件末尾

━━━━━━━━━━━━━━━━━━━━━━━━━━━

offset是指文件位置指针从指定开始位置(fromwhere指出的位置)跳过的字

节数。它是一个长整型量, 以支持大于64K字节的文件。fseek()函数一般用于对

二进制文件进行操作。

当fseek()函数返回0时表明操作成功, 返回非0表示失败。

下面程序从二进制文件test_b.dat中读取第8个字节。

例13:

#include

main()

{

FILE *fp;

if((fp=fopen("test_b.dat", "rb"))==NULL)

{

printf("Can’t open file");

exit(1);

}

fseek(fp, 8. 1, SEEK_SET);

fgetc(fp);

fclose(fp);
分页:[1] 2 3 4  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有