标签:
/*
功能:设置文件偏移位置
参数1:FILE流
参数2:偏移量
参数3:偏移的位置:SEEK_SET, SEEK_CUR, SEEK_END
返回值:成功返回0,否则返回-1并设置errno
*/ int fseek(FILE *stream, long offset, int whence);
/*
功能:确定文件位置指针位置
参数1:FILE 流
返回值:文件位置指针的当前位置,否则返回-1,并设置errno*/ long ftell(FILE *stream); /*
功能:文件位置指针定义到文件开始位置
参数1:FILE流
返回值:无
*/ void rewind(FILE *stream);
用fseek函数以及ftell函数实现确定文件大小的程序:
#include <stdio.h> #include <stdlib.h> int main(int argc , char **argv) { FILE *fp; if(argc < 2) { fprintf(stderr,"Usage....\n"); exit(1); } fp = fopen(argv[1],"r"); if(fp == NULL) { perror("fopen()"); exit(1); } fseek(fp,0,SEEK_END); printf("%ld\n",ftell(fp)); exit(0); }
使用fseek函数产生一个空洞文件
/* 功能:刷新一个流
参数1:FILE流,如果为NULL,刷新all流
返回值: 成功返回0,否则返回EOF,并设置errno */ int fflush(FILE *stream);
缓冲区作用:合并系统调用
行缓冲:换行时候刷新,满了时候刷,强制刷新(stdout)
全缓冲:满了时候刷,强制刷新(默认,除了stdout)
无缓冲:需要立即输出的内容(stderr)
设置缓冲模式:
int setvbuf(FILE *stream, char *buf, int mode, size_t size);
标签:
原文地址:http://www.cnblogs.com/muzihuan/p/4808527.html