Question

J'utilise CreateFileA et ReadFile dans Visual C ++ 2008 pour ouvrir et lire un fichier texte ASCII en mémoire. Cela fonctionne bien (je peux voir son contenu en mémoire), mais à une exception près. Pour une raison quelconque, les caractères de tabulation (0x09) sont remplacés par NULL (0x00). Inutile de dire que cela fait des ravages lorsque j'essaie d'analyser le fichier. Est-ce que quelqu'un sait ce qui pourrait être la cause de ce problème ou comment je peux le réparer?

Voici comment j'ouvre le fichier:

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 );

La gestion des erreurs de mon code projet est robuste et je ne reçois aucune erreur. Toutes les suggestions seraient appréciées.

Merci.

Était-ce utile?

La solution

Cela semble vraiment improbable. Avez-vous utilisé un autre outil pour examiner le fichier sur le disque et vérifier que les caractères de tabulation sont présents?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top