CStdioFile::Seek

Zmiana wskaźnika w uprzednio otwartego pliku.

virtual ULONGLONG Seek(
   LONGLONG lOff,
   UINT nFrom 
);

Parametry

  • lOff
    Liczba bajtów do przesuwania wskaźnika.

  • nFrom
    Tryb przemieszczania wskaźnika.Musi to być jedna z następujących wartości:

    • CFile::begin: Przenoszenie wskaźnika pliku lOff bajtów w przód od początku pliku.

    • CFile::current: Przenoszenie wskaźnika pliku lOff bajtów z bieżącej pozycji w pliku.

    • CFile::end: Przenoszenie wskaźnika pliku lOff bajtów z końca pliku.Należy zauważyć, że lOff musi być ujemna dążyć do istniejącego pliku; wartości dodatnie postara się poza koniec pliku.

Wartość zwracana

Jeśli żądanej pozycji prawnej, Seek zwraca nowy bajtach przesunięcie od początku pliku.W przeciwnym razie zwracana jest wartość niezdefiniowane i CFileException obiektu jest generowany.

Uwagi

Seek Funkcja pozwala dostępie do zawartości pliku, przenosząc wskaźnik określonej ilości absolutnie lub stosunkowo.Brak danych jest faktycznie odczytu podczas wyszukiwania.Jeśli żądana stanowisko jest większy niż rozmiar pliku, długość pliku zostaną rozszerzone na miejscu i nie będzie wyjątek.

Gdy plik jest otwarty, wskaźnik pliku jest umieszczony przy przesunięciu 0, początku pliku.

Ta implementacja Seek jest oparte na funkcji Run-Time Library (CRT) fseek.Istnieje kilka ograniczeń korzystania z Seek na strumieni otwartych w trybie tekstowym.Aby uzyskać więcej informacji, zobacz fseek, _fseeki64.

Przykład

Poniższy przykład pokazuje, jak używać Seek przenieść wskaźnik 1000 bajtów od początku cfile pliku.Należy zauważyć, że Seek nie odczytać danych, więc musi następnie wywołać CStdioFile::ReadString do odczytywania danych.

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

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CStdioFile

Diagram hierarchii

Klasa CFileException

CStdioFile::ReadString

CFile::Read