ho sempre letto e stato detto che quando si tratta di file binari che si dovrebbe usare read() e write() in contrapposizione ai < <e> > operatori come essi sono destinati per l'uso con dati formattati. Ho anche letto che è possibile usarli, ma è un argomento avanzato, che non riesco a trovare dove qualcuno si tuffa e discute.C++ fstream << and >> operatori con i dati binari
recente ho visto un po 'di codice che ha fatto la seguente:
std::ifstream file1("x", ios_base::in | ios_base::binary); std::ofstream file2("y", ios_base::app | ios_base::binary); file1 << file2.rdbuf();
Quando ho fatto notare l'uso del < < dell'operatore con il file binario, mi hanno detto che la chiamata rdbuf() restituisce uno streambuf * e che < < sovraccarichi lo streambuf * e faccia una copia diretta senza formattazione ed è quindi sicuro.
È vero e anche sicuro? Che ne dici dell'efficienza? Qualche trucco? I dettagli sarebbero molto apprezzati.
Grazie!
È una pagina nello standard o cosa? :) Un link sarebbe bello! – Skurmedel
Questo è un riferimento a un paragrafo nello standard. Lo standard stesso non è disponibile al pubblico. Alcune bozze sono ma non ho un collegamento facilmente. – AProgrammer
Ok, grazie per aver chiarito. Dovrebbero rendere pubblico lo standard. – Skurmedel