Opções binárias ifstream


Estou lendo um arquivo binário como: Mas eu estou percebendo que este não é um verdadeiro binário ler. O ifstream realmente lê um byte e o converte em um char largo. Portanto, se o arquivo binário tiver o conteúdo 0x112233. Ff. Eu realmente ler 0x110022003300. Ff00. Isso não faz muito sentido para mim: primeiro, eu só preciso usar um fstream largo porque o nome do arquivo não é latino. Em segundo lugar, se eu digo que o fstream é binário, por que ler ler caracteres largos O código abaixo faz o que eu quero. Existe uma maneira de conseguir isso usando fstreams std perguntou Mar 21 11 às 19:15 I39m usando Visual Studio para Windows e compilador Intel para Linux. Sua solução funcionou bem no Windows. Eu ainda não tentei isso no Linux. É uma solução bastante elegante. I39d preferem não confiar em extensões de compilador embora. Você acha que pode fazer isso aderindo ao padrão, talvez especificando o charset como um parâmetro de modelo para ifstream ndash rturrado Mar 22 11 às 15:15 rturrado: (removido meu comentário anterior) Eu não recomendo mais Boost. Filesystem desde a sua Abordagem é definir diferentes interfaces em diferentes plataformas, o que basicamente causa problemas de portabilidade e torna, na verdade mais difícil de escrever código Unicode correto. De minha experiência, é melhor seguir a abordagem que eu escrevi no EDIT. Ndash ybungalobill Ago 23 12 às 13:00

Comments