共用方式為


CStdioFile::Seek

若要重新定位之前已開啟的檔案的指標。

virtual ULONGLONG Seek(
   LONGLONG lOff,
   UINT nFrom 
);

參數

  • lOff
    將指標的位元組數目。

  • nFrom
    指標移動方式。 必須是下列其中一個值:

    • CFile::begin:移動檔案指標 lOff 位元組轉送開頭的位移。

    • CFile::current:從檔案中目前的位置移動檔案指標 lOff 位元組。

    • CFile::end:從檔案結尾移動檔案指標 lOff 位元組。 請注意 lOff 必須是負數尋找到現有檔案;正值會尋找超過檔案結尾。

傳回值

如果要求的位置是合法的, Seek 傳回新的位元組位移 (Offset) 檔案。 否則,傳回值為未定義,而且 CFileException 物件擲回。

備註

Seek 函式移動指標允許檔案的內容的隨機存取每個指定的數量,絕對或相對。 在搜尋期間,資料不會實際讀取。 如果要求的位置大於檔案大小,檔案長度會擴充至該位置,因此,例外狀況將不會擲回。

在開啟檔案時,檔案指標放置於位移 0,檔案的開頭。

Seek 的這個實作會根據執行階段程式庫 (CRT) 函式 fseek。 在 Seek 用法的數個限制在文字模式下開啟的資料流。 如需詳細資訊,請參閱 fseek _fseeki64

範例

下列範例顯示如何使用 Seek 移動游標 1000 個位元組從初始 cfile 檔案。 請注意 Seek 不讀取資料,因此,您必須在後續呼叫 CStdioFile::ReadString 讀取資料。

CStdioFile cfile(_T("Stdio_Seek_File.dat"), CFile::modeWrite |
   CFile::modeCreate);
LONGLONG lOff = 1000;
ULONGLONG lActual = cfile.Seek(lOff, CFile::begin);

需求

Header: afx.h

請參閱

參考

CStdioFile 類別

階層架構圖

CFileException 類別

CStdioFile::ReadString

CFile::Read