basic_filebuf::seekpos
Tenta di modificare le posizioni correnti per i flussi archiviati.
virtual pos_type seekpos(
pos_type _Sp,
ios_base::openmode _Which = ios_base::in | ios_base::out
);
Parametri
_Sp
Posizione da cercare._Which
Specifica la modalità per la posizione del puntatore. L'impostazione predefinita è di consentire di modificare lettura e scrivere i percorsi.
Valore restituito
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 fsetpos(fp, &fposn), dove fposn è l'oggetto di fpos_t archiviato in pos. Se la funzione viene completata correttamente, la funzione restituisce pos. In caso contrario, restituisce una posizione non valida del flusso. Per determinare se la posizione del flusso non è valida, confrontare il valore restituito da pos_type(off_type(-1)).
Note
La funzione membro virtuale protetta tenta di modificare le posizioni correnti per i flussi archiviati. Per un oggetto di classe basic_filebuf<Elem, Tr>, la posizione del flusso può essere rappresentata da un oggetto di tipo fpos_t, che memorizza 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 degli archivi di pos_type del tipo almeno un oggetto di fpos_t ).
Per un file aperto per la lettura e la scrittura, sia l'input che i flussi di output vengono posizionati in tandem. Per passare dall'inserimento e di estrarre, è necessario chiamare pubseekoff o pubseekpos. Le chiamate a pubseekoff (e quindi a seekoff) presentano alcune limitazioni per i flussi di testo, i flussi binari e gli di flussi.
Per un ampio flusso, se gli inserimenti si sono verificati da quando il flusso è stato aperto, dall'ultima chiamata a streampos, le chiamate di funzione overflow. Inserire anche qualsiasi sequenza necessaria per ripristinare lo stato iniziale di conversione, utilizzando ilfac facet di conversione di file per chiamare fac.unshift in base alle necessità. Ogni elemento byte di tipo char prodotto pertanto è scritto nel flusso connesso definito dal puntatore del file fp come se le chiamate successive del form fputc(byte, fp). Se la chiamata a fac.unshift o qualsiasi scrive i test non superato, la funzione non riesce.
Requisiti
fstream <diIntestazione: >
Spazio dei nomi: std