Udostępnij za pośrednictwem


basic_filebuf::seekpos

Próbuje zmienić bieżącej pozycji kontrolowanych strumieni.

virtual pos_type seekpos(
   pos_type _Sp,
   ios_base::openmode _Which = ios_base::in | ios_base::out
);

Parametry

  • _Sp
    Stanowiska do poszukiwania dla.

  • _Which
    Określa tryb położenie wskaźnika.Domyślnie jest umożliwiają modyfikowanie, Odczyt i zapis stanowisk.

Wartość zwracana

Jeśli wskaźnik pliku pr jest wskaźnik zerowy Niepowodzenie funkcji.W przeciwnym razie usiłują zmienić położenie strumienia przez wywołanie fsetpos(pr, & fposn), gdzie fposn jest fpos_t obiektów przechowywanych w pos.Jeśli ta funkcja się powiedzie, funkcja zwraca pos.W przeciwnym razie zwraca pozycję nieprawidłowy strumień.Aby określić, czy stanowisko strumienia jest nieprawidłowy, należy porównać wartość zwracana z pos_type(off_type(-1)).

Uwagi

Funkcja chroniony członek wirtualnego usiłują zmienić bieżącej pozycji kontrolowanych strumieni.Dla obiektu klasy basic_filebuf<Elem, Tr>, pozycja strumień może być reprezentowany przez obiekt typu fpos_t, który przechowuje przesunięcie i niezbędne informacje dotyczące stanu przeanalizować strumienia szeroki.Przeciwstawne zero wyznacza pierwszy element strumienia.(Obiekt typu pos_type przechowuje przynajmniej fpos_t obiektu.)

Plik otwarty do odczytu i zapisu strumienie wejścia i wyjścia są pozycjonowane zespołowo.Aby przełączyć między wstawianiem i wyodrębnianie, należy wywołać albo pubseekoff lub pubseekpos.Wzywa do pubseekoff (i stąd do seekoff) mają różne ograniczenia dla strumieni tekst, strumieni binarnych i strumienie szeroki.

Dla strumienia szeroki, jeśli wystąpiły wszelkich wstawienia, ponieważ strumień został otwarty lub od czasu ostatniego wywołania streampos, wywołania funkcji przepełnienia.Wstawia również dowolną sekwencję potrzebne do przywrócenia stanu początkowego konwersji za pomocą aspekt konwersji pliku fac do wywołania fac.unshift w razie potrzeby.Każdy element bajt typu char produkowanych w ten sposób jest napisany w strumieniu skojarzone wyznaczone przez wskaźnik pliku fp jako Jeśli kolejnych wywołań formularza fputc(bajt, fp).Jeśli wywołanie fac.unshift lub żadnego zapisu zawiedzie, funkcja nie powiodła się.

Wymagania

Nagłówek: <fstream>

Obszar nazw: std

Zobacz też

Informacje

basic_filebuf Class

iostream Programowanie

iostreams Konwencji