Una delle grandi gioie della programmazione di Windows è ricordarsi di mettere 'wb' o 'rb' o ios :: binary in tutte le chiamate di file aperte in modo che Windows non convertire allegramente tutti i tuoi 0x13s.Perché non Createfile() ha un flag binario
Ho dovuto convertire un bel po 'di codice standard per usare Createfile() per ottenere un certo flag - e mi è venuto in mente che non c'è modo di specificare il binario.
Come fa a sapere? Non voglio davvero che cambi i byte nel mio stream MP4 grazie-molto-molto.
Non riesco proprio a capire la domanda. I file vengono aperti in modalità binaria, quindi non viene modificato CR \ LF. – ruslik
Non si è reso conto che è sempre aperto in modalità binaria. Dal momento che la modalità binaria è una funzionalità sonora di finestra e CreateFile è una versione solo Windows di FILE, sembrava logico che avrebbe fatto questa funzione solo di Windows - o almeno menzionarla nella documentazione –
La modalità testo non è una funzionalità di Windows: è necessaria su qualsiasi macchina che non utilizza un singolo LF per terminare le linee. I Mac pre-X, ad esempio, e ho sentito che alcuni tipi di file su VAX erano/sono trattati più come una tabella, con linee che rappresentano le righe, e l'intera cosa memorizzata in modo molto diverso dai file di "testo" - ma molto meglio per DB- come usare –