C 庫函數(shù) - ftell()

C 標(biāo)準(zhǔn)庫 - <stdio.h> C 標(biāo)準(zhǔn)庫 - <stdio.h>

描述

C 庫函數(shù) long int ftell(FILE *stream) 返回給定流 stream 的當(dāng)前文件位置。

聲明

下面是 ftell() 函數(shù)的聲明。

long int ftell(FILE *stream)

參數(shù)

  • stream -- 這是指向 FILE 對(duì)象的指針,該 FILE 對(duì)象標(biāo)識(shí)了流。

返回值

該函數(shù)返回位置標(biāo)識(shí)符的當(dāng)前值。如果發(fā)生錯(cuò)誤,則返回 -1L,全局變量 errno 被設(shè)置為一個(gè)正值。

實(shí)例

下面的實(shí)例演示了 ftell() 函數(shù)的用法。

#include <stdio.h>

int main ()
{
   FILE *fp;
   int len;

   fp = fopen("file.txt", "r");
   if( fp == NULL ) 
   {
      perror ("打開文件錯(cuò)誤");
      return(-1);
   }
   fseek(fp, 0, SEEK_END);

   len = ftell(fp);
   fclose(fp);

   printf("file.txt 的總大小 = %d 字節(jié)\n", len);
   
   return(0);
}

假設(shè)我們有一個(gè)文本文件 file.txt,它的內(nèi)容如下:

This is w3cschool.cn

讓我們編譯并運(yùn)行上面的程序,如果文件內(nèi)容如上所示,這將產(chǎn)生以下結(jié)果,否則會(huì)根據(jù)文件內(nèi)容給出不同的結(jié)果:

file.txt 的總大小 = 21 字節(jié)

C 標(biāo)準(zhǔn)庫 - <stdio.h> C 標(biāo)準(zhǔn)庫 - <stdio.h>