Libreria IOS C ++ - Setf
Descrizione
Viene utilizzato per impostare flag di formato specifici. I flag di formato di uno stream influenzano il modo in cui i dati vengono interpretati in determinate funzioni di input e come vengono scritti da determinate funzioni di output. Vedere ios_base :: fmtflags per i possibili valori degli argomenti di questa funzione.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione ios_base :: setf.
set (1) fmtflags setf (fmtflags fmtfl);
mask (2) fmtflags setf (fmtflags fmtfl, fmtflags mask);
La prima forma (1) imposta i flag di formato del flusso i cui bit sono impostati in fmtfl, lasciando invariato il resto, come se fosse una chiamata a flags (fmtfl | flags ()).
La seconda forma (2) imposta i flag di formato del flusso i cui bit sono impostati sia in fmtfl che in mask, e cancella i flag di formato i cui bit sono impostati in mask ma non in fmtfl, come se una chiamata a flags ((fmtfl & mask) | (flags () e ~ maschera)).
Parametri
fmtfl- Flag di formato da impostare. Se viene utilizzata la seconda sintassi, solo i bit impostati sia in fmtfl che in mask vengono impostati nei flag di formato del flusso; i flag impostati in mask ma non in fmtfl vengono cancellati.
mask - Maschera contenente i flag da modificare.
Valore di ritorno
I flag di formato selezionati nel flusso prima della chiamata.
Eccezioni
Basic guarantee - se viene generata un'eccezione, il flusso è in uno stato valido.
Gare di dati
Modifica l'oggetto stream. L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.
Esempio
Nell'esempio seguente viene illustrata la funzione ios_base :: setf.
#include <iostream>
int main () {
std::cout.setf ( std::ios::hex, std::ios::basefield );
std::cout.setf ( std::ios::showbase );
std::cout << 100 << '\n';
std::cout.unsetf ( std::ios::showbase );
std::cout << 100 << '\n';
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
0x64
64