函式
<cstdio>

fgetpos

int fgetpos ( FILE * stream, fpos_t * pos );
獲取流中的當前位置
檢索中的當前位置。

該函式用位置指示器所需的資訊填充 pos 指向的 fpos_t 物件,以便透過呼叫 fsetpos恢復到其當前位置(以及多位元組狀態,如果是寬定向)。

ftell 函式可用於以整數值的形式檢索中的當前位置。

引數

stream
指向一個 FILE 物件的指標,該物件標識了流。
pos
指向 fpos_t 物件的指標。
這應該指向一個已分配的物件。

返回值

成功時,該函式返回零。
如果出錯,errno 會被設定為一個平臺特定的正值,並且該函式返回一個非零值。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* fgetpos example */
#include <stdio.h>
int main ()
{
   FILE * pFile;
   int c;
   int n;
   fpos_t pos;

   pFile = fopen ("myfile.txt","r");
   if (pFile==NULL) perror ("Error opening file");
   else
   {
     c = fgetc (pFile);
     printf ("1st character is %c\n",c);
     fgetpos (pFile,&pos);
     for (n=0;n<3;n++)
     {
        fsetpos (pFile,&pos);
        c = fgetc (pFile);
        printf ("2nd character is %c\n",c);
     }
     fclose (pFile);
   }
   return 0;
}
可能的輸出(當myfile.txt包含ABC):
1st character is A
2nd character is B
2nd character is B
2nd character is B


該示例開啟myfile.txt,然後讀取一次第一個字元,接著連續 3 次讀取同一個第二個字元。

另見