La semplice risposta è no. La modalità viene determinata quando viene costruito l'oggetto iostream e non può essere modificato in seguito. Alcune implementazioni possono fornire un modo per farlo in seguito, ma questo non è standardizzato. Su alcune implementazioni, fare un freopen
su stdout
potrebbe cambiare la modalità, anche se penso che formalmente, questo è vietato in C++. (È l'implementazione definita in C.) E a quanto pare, non funziona sulla tua implementazione.
La soluzione migliore è scoprire in che modo il sistema chiama il dispositivo console ("/dev/tty"
sotto Unix; "CONS"
, penso, in Windows), aprirlo nella modalità desiderata e inviarlo ad esso.
fonte
2014-04-16 11:34:29
Perché? 'stdout' dovrebbe essere compatibile con i terminali di testo. Ottieni la semantica del testo in base alle impostazioni locali correnti. (Nota, C e C++ hanno diversi sistemi locali, e devi agire positivamente per far sì che le impostazioni locali della libreria corrispondano alle impostazioni locali del sistema operativo.) – Potatoswatter
Se hai bisogno di 'modalità binaria' omettere l'output formattato - attenersi all'output non formattato –
Per quale scopo? Sembra una cattiva idea ... – tenfour