std::unitbuf, std::nounitbuf
Da cppreference.com.
|
|
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
<metanoindex/>
<tbody> </tbody>| Elemento definito nell'header <ios>
|
||
std::ios_base& unitbuf( std::ios_base& str ); |
(1) | |
std::ios_base& nounitbuf( std::ios_base& str ); |
(2) | |
Attiva o disattiva lavaggio automatico del flusso di output dopo ogni operazione di uscita. Non ha alcun effetto su ingresso.
Original:
Enables or disables automatic flushing of the output stream after any output operation. Has no effect on input.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1)
consente la bandiera
unitbuf nel str flusso come se chiamando str.setf(std::ios_base::unitbuf)Original:
enables the
unitbuf flag in the stream str as if by calling str.setf(std::ios_base::unitbuf)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
disabilita la bandiera
unitbuf nel str flusso come se chiamando str.unsetf(std::ios_base::unitbuf)Original:
disables the
unitbuf flag in the stream str as if by calling str.unsetf(std::ios_base::unitbuf)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Si tratta di un manipolatore di I / O, può essere chiamato con espressioni quali
out << std::unitbuf per qualsiasi out di std::basic_ostream tipo o con un'espressione come in >> std::unitbuf per qualsiasi in di std::basic_istream tipo.Original:
This is an I/O manipulator, it may be called with an expression such as
out << std::unitbuf for any out of type std::basic_ostream or with an expression such as in >> std::unitbuf for any in of type std::basic_istream.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Note
Flushing viene eseguita nel distruttore dell'oggetto std::basic_ostream::sentry, che chiama se
str.rdbuf()->pubsync() str.flags() & std::ios_base::unitbuf == true.Original:
Flushing is performed in the destructor of the std::basic_ostream::sentry object, which calls
str.rdbuf()->pubsync() if str.flags() & std::ios_base::unitbuf == true.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Gli oggetti di uscita standard e std::cerr std::wcerr hanno la loro parte
unitbuf impostato di default.Original:
The standard output objects std::cerr and std::wcerr have their
unitbuf bit set by default.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parametri
| str | - | riferimento al flusso di I / O
Original: reference to I/O stream The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Valore di ritorno
str (riferimento al flusso dopo la manipolazione)Original:
str (reference to the stream after manipulation)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Esempio
Senza std :: unitbuf o un altro filo esplicito, l'uscita è lo stesso, ma non appare in tempo reale .
Original:
Without std::unitbuf or another explicit flush, the output is the same, but does not appear in real time.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream>
#include <chrono>
template<typename Diff>
void log_progress(Diff d)
{
std::cout << "..("
<< std::chrono::duration_cast<std::chrono::milliseconds>(d).count()
<< " ms)..";
}
int main()
{
volatile int sink=0;
std::cout << std::unitbuf; // enable automatic flushing
auto t1 = std::chrono::high_resolution_clock::now();
for(int j=0; j<5; ++j)
{
for(int n=0; n<10000; ++n)
for(int m=0; m<20000; ++m)
sink += m*n; // do some work
auto now = std::chrono::high_resolution_clock::now();
log_progress(now - t1);
}
std::cout << '\n';
}
Output:
..(450 ms)....(902 ms)....(1352 ms)....(1802 ms)....(2252 ms)..
Vedi anche
svuota il flusso di output Original: flushes the output stream The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
uscite '\n' e colori nel flusso di outputOriginal: outputs '\n' and flushes the output streamThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |