Condividi tramite


CStdioFile::Seek

Riposizionare il puntatore in un file già aperto.

virtual ULONGLONG Seek(
   LONGLONG lOff,
   UINT nFrom 
);

Parametri

  • lOff
    Numero di byte per spostare il puntatore.

  • nFrom
    Modalità di spostamento del puntatore. Deve essere uno dei seguenti valori:

    • CFile::begin: Spostare i byte lOff del puntatore del file in avanti dall'inizio del file.

    • CFile::current: Spostare i byte lOff del puntatore del file dalla posizione corrente nel file.

    • CFile::end: Spostare i byte lOff del puntatore del file dalla fine del file. Si noti che lOff deve essere negativo trovare il file esistente, i valori positivi cercheranno oltre la fine del file.

Valore restituito

Se la posizione richiesta è valida, Seek restituisce il nuovo offset di byte dall'inizio del file. In caso contrario, il valore restituito è definito e un oggetto CFileException viene generato.

Note

La funzione Seek consente l'accesso casuale al contenuto di un file sposta il puntatore una quantità specificata, completamente o relativamente. Nessun dati effettivamente letta durante la ricerca. Se la richiesta posizione è maggiore delle dimensioni del file, la lunghezza di file viene estesa a quella posizione e non viene generata alcuna eccezione.

Quando un file viene aperto, il puntatore del file viene posizionato a offset 0, all'inizio del file.

Questa implementazione Seek è basata sulla funzione fseekla libreria di runtime (CRT). Esistono vari limiti sull'utilizzo Seek flussi aperti in modalità testo. Per ulteriori informazioni, vedere fseek, _fseeki64.

Esempio

Di seguito viene illustrato come utilizzare Seek per spostare il puntatore di 1000 byte dall'inizio del file cfile. Si noti che Seek non vengono letti i dati, è necessario chiamare avanti CStdioFile::ReadString per leggere i dati.

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

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe CStdioFile

Grafico delle gerarchie

Classe CFileException

CStdioFile::ReadString

CFile::Read