当前位置: 首页 > 编程语言 > C语言 > 正文

C语言基础教程(三)输入输出函数及控制流程语句(12)

时间:2007-05-04 王大刚

4.feof()和rewind()函数
这两个函数的调用格式为:
int feof(FILE *stream);
int rewind(FILE *stream);
feof()函数检测文件位置指示器是否到达了文件结尾,若是则返回一个非0值,否则返回0。这个函数对二进制文件操作特别有用, 因为二进制文件中,文件结尾标志EOF也是一个合法的二进制数,只简单的检查读入字符的值来判断文件是否结束是不行的。如果那样的话, 可能会造成文件未结尾而被认为结尾,所以就必须有feof()函数。
下面的这条语句是常用的判断文件是否结束的方法。
while(!feof(fp))
fgetc(fp);
while为循环语句,将在下面介绍。
rewind()函数用于把文件位置指示器移到文件的起点处,成功时返回0,否则,返回非0值。

1.2.2 非标准文件函数
这类函数最早用于UNIX操作系统,ANSI标准未定义,但有时也经常用到,DOS 3.0以上版本支持这些函数。它们的头文件为io.h。
一、文件的打开和关闭
1.open()函数
open()函数的作用是打开文件,其调用格式为:
int open(char *filename, int access);
该函数表示按access的要求打开名为filename的文件,返回值为文件描述字,其中access有两部分内容:基本模式和修饰符,两者用" "("或")方式连接。修饰符可以有多个,但基本模式只能有一个。access的规定如表3-2。
表3-2 access的规定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
基本模式 含义 修饰符 含 义
────────────────────────────
O_RDONLY 只读 O_APPEND 文件指针指向末尾
O_WRONLY 只写 O_CREAT 文件不存在时创建文件,
属性按基本模式属性
O_RDWR 读写 O_TRUNC 若文件存在, 将其长度
缩为0, 属性不变
O_BINARY 打开一个二进制文件
O_TEXT 打开一个文字文件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
open()函数打开成功,返回值就是文件描述字的值(非负值),否则返回-1。