allora, i file binari, a differenza dei file di testo, possono contenere qualsiasi tipo di byte al loro interno, anche il byte 'allora, i file binari, a differenza dei file di testo, possono contenere qualsiasi tipo di byte al loro interno, anche il byte '{parsed_message}', ovvero il terminatore delle stringhe.
la read legge corretamente il contenuto ma poi quando vai a mostrarlo la printf si interrompe ad ogni '{parsed_message}'
facendo sembrare che il file sia "troncato"
quello che devi fare se vuoi mostrare a video un file binario (per quanto questo possa essere utile), è ciclare stampando "a mano" i char del buffer fino ad incontrare il numero di caratteri letti, ottenuti con la funzione gcount().
cmq consiglio una lettura della reference:
cplusplus.com/reference/iostream/istream/read/
EDIT:
riguardando l'esempio della reference, usa un metodo più furbo per fare quello che chiedi, ovvero chiamare cout.write direttamente sul buffer
', ovvero il terminatore delle stringhe.
la read legge corretamente il contenuto ma poi quando vai a mostrarlo la printf si interrompe ad ogni 'allora, i file binari, a differenza dei file di testo, possono contenere qualsiasi tipo di byte al loro interno, anche il byte '{parsed_message}', ovvero il terminatore delle stringhe.
la read legge corretamente il contenuto ma poi quando vai a mostrarlo la printf si interrompe ad ogni '{parsed_message}'
facendo sembrare che il file sia "troncato"
quello che devi fare se vuoi mostrare a video un file binario (per quanto questo possa essere utile), è ciclare stampando "a mano" i char del buffer fino ad incontrare il numero di caratteri letti, ottenuti con la funzione gcount().
cmq consiglio una lettura della reference:
cplusplus.com/reference/iostream/istream/read/
EDIT:
riguardando l'esempio della reference, usa un metodo più furbo per fare quello che chiedi, ovvero chiamare cout.write direttamente sul buffer
'
facendo sembrare che il file sia "troncato"
quello che devi fare se vuoi mostrare a video un file binario (per quanto questo possa essere utile), è ciclare stampando "a mano" i char del buffer fino ad incontrare il numero di caratteri letti, ottenuti con la funzione gcount().
cmq consiglio una lettura della reference:
cplusplus.com/reference/iostream/istream/read/
EDIT:
riguardando l'esempio della reference, usa un metodo più furbo per fare quello che chiedi, ovvero chiamare cout.write direttamente sul buffer