basic_filebuf::seekoff

Provare a modificare le posizioni dati per i flussi archiviati.

virtual pos_type seekoff(
   off_type _Off,
   ios_base::seekdir _Way,
   ios_base::openmode _Which = ios_base::in | ios_base::out
);

Parametri

  • _Off
    La posizione in cui cercare in _Wayrelativo.

  • _Way
    Il punto iniziale per le operazioni di offset.Vedere seekdir per i valori possibili.

  • _Which
    Specifica la modalità per la posizione del puntatore.L'impostazione predefinita è consentire di modificare letti e scrivere i percorsi.

Valore restituito

Restituisce la nuova posizione o una posizione non valida del flusso.

Note

La funzione membro virtuale protetta tenta di modificare le posizioni dati per i flussi archiviati.Per un oggetto di classe basic_filebuf<Elem, Tr>, una posizione del flusso può essere rappresentato da un oggetto di tipo fpos_t, che archivia un offset e tutte le informazioni sullo stato necessari per analizzare un ampio flusso.L'offset zero definisce il primo elemento del flusso.(Un oggetto di file pos_type di tipo almeno un oggetto fpos_t ).

Per un file aperto per la lettura e la scrittura, sia l'input che i flussi di output vengono inseriti in tandem.Per passare tra l'inserimento e estrarre, è necessario chiamare pubseekoff o pubseekpos.Le chiamate a pubseekoff (e quindi a seekoff) presentano diverse limitazioni per flussi di testo, flussi di lavoroe di flussi.

Se il puntatore del file fp è un puntatore null, la funzione ha esito negativo.In caso contrario, tenta di modificare la posizione del flusso chiamando fseek(fp, _Off, _Way).Se la funzione ha esito positivo e la posizione fposn risultante può essere determinata chiamando fgetpos(fp, &fposn), la funzione ha esito positivo.Se la funzione ha esito positivo, restituisce un valore di tipo pos_type contenente fposn.In caso contrario, restituisce una posizione non valida del flusso.

Requisiti

intestazione: <fstream>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

basic_filebuf Class

programmazione di iostream

convenzioni di iostream