VC++文件操作函数解析

ftell:功 能返回当前文件位置,也就是说返回FILE指针当前位置。

                   函数原型: long ftell(FILE *stream);

                  函数功能:函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。

                  调用示例 ftell(fp);利用函数 ftell() 也能方便地知道一个文件的长。如以下语句序列: fseek(fp, 0L,SEEK_END); len =ftell(fp); 首先将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数。

 

fseek:

                 功 能:  重定位流(数据流/文件)上的文件内部位置指针

             注意:不是定位文件指针,文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变指向别的文件。

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

                 描 述:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0,当前位置1,文件尾2)为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

  fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整形。

                 返回值:成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。

  fseek position the file(文件) position(位置) pointer(指针) for the file referenced by stream to the byte location calculated by offset.

 

 

fileno:函数名称fileno(在VC++6.0下为_fileno)

                 函数原型int _fileno( FILE *stream );

                  函数功能fileno()用来取得参数stream指定的文件流所使用的文件描述符。(文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件。文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称作文件的上下文。)

                 返回值某个数据流的文件句柄

                   头文件stdio.h

                相关函数open,fopen,fclose

 

 

filelength:

                 功 能: 取文件长度字节数

              用 法: long filelength(int handle);

            用法举例:FILE*l_file;int L= filelength (fileno (l_file));

 

fread:

          功 能: 从一个流中读数据
  函数原型: size_t fread(void*buffer,size_tsize,size_tcount,FILE*stream); 
  参 数
  1.用于接收数据的地址(指针)(buffer
  2.单个元素的大小(size) :单位是字节而不是位,例如读取一个int型数据就是4个字节
  3.元素个数(count
  4.提供数据的文件指针(stream)
  返回值:读取的元素的个数

你可能感兴趣的:(Stream,File,buffer,vc++,byte,FP)