La lettura del file ASCII TAB viene sostituita con NULL
-
07-07-2019 - |
Domanda
Sto usando CreateFileA e ReadFile in Visual C ++ 2008 per aprire e leggere un file di testo ASCII in memoria. Funziona bene (posso visualizzare i suoi contenuti in memoria), ma con un'eccezione. Per qualche motivo i caratteri TAB (0x09) vengono cambiati in NULL (0x00). Inutile dire che questo sta causando il caos quando provo ad analizzare il file. Qualcuno sa cosa potrebbe causare questo o come posso risolverlo?
Ecco come sto aprendo il file:
hHandle = CreateFileA( pPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
GetFileSizeEx( hHandle, &tFileSize );
pBuf = (UINT8 *)malloc( tFileSize.LowPart );
ReadFile( hHandle, pBuf, tFileSize.LowPart, &dwBytesRead, NULL );
Il mio codice di progetto ha una solida gestione degli errori e non visualizzo alcun errore. Eventuali suggerimenti sarebbero apprezzati.
Grazie.
Soluzione
Questo sembra davvero improbabile. Hai usato qualche altro strumento per esaminare il file su disco e verificare che i caratteri della scheda siano presenti?