1、0XFUL 表示的是16进制的unsigned long 类型。
2、feek(fp,offset,origin)其中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.
3、rewind函数
文件指针FILE *fp中,包含一个读写位置指针char *_nextc,它指向下一次文件读写的位置。
typedef struct
{
int _fd; /* 文件号 */
int _cleft; /* 缓冲区中剩下的字节数 */
int _mode; /* 文件操作模式 */
char * _nextc; /* 下一个字节的位置 */
char * _buff; /*文件缓冲区位置 */
}FILE;
每当进行一次读写后,该指针自动指向下一次读写的位置。
当文件刚打开或创建时,该指针指向文件的开始位置。
可以用函数ftell()获得当前的位置指针,也可以用rewind()/fseek()函数改变位置指针,使其指向需要
读写的位置。
rewind()函数
原型:void rewind(FILE *fp)
作用:使文件fp的位置指针指向文件开始。
4、ftell函数
函数名
: ftell
: long ftell(FILE *stream); //注意其返回值类型为long
:函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。
调用示例
ftell(fp);利用函数 ftell() 也能方便地知道一个文件的长。如以下语句序列: fseek(fp, 0L,SEEK_END); len =ftell(fp); 首先将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数.
5、功 能
检测流上的文件结束符
The function feof() tests the end-of-file indicatorfor the stream
pointed to by stream, returning non-zero if it is set.The end-of-file
indicator can only be cleared by the function clearerr().
int feof(FILE *stream); //如果设置了文件结束指示标志则返回非零,否则返回0。