Pregunta

Estoy usando CreateFileA y ReadFile en Visual C ++ 2008 para abrir y leer un archivo de texto ASCII en la memoria. Esto funciona bien (puedo ver su contenido en la memoria), pero con una excepción. Por alguna razón, los caracteres TAB (0x09) se están cambiando a NULL (0x00). No hace falta decir que esto está causando estragos cuando trato de analizar el archivo. ¿Alguien sabe qué podría estar causando esto o cómo puedo solucionarlo?

Así es como estoy abriendo el archivo:

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

Mi código de proyecto tiene un manejo robusto de errores, y no recibo ningún error. Cualquier sugerencia sería apreciada.

Gracias.

¿Fue útil?

Solución

Esto parece realmente poco probable. ¿Ha utilizado alguna otra herramienta para examinar el archivo en el disco y verificar que los caracteres de tabulación están allí?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top