Pergunta

Eu estou usando CreateFileA e ReadFile no Visual C ++ 2008 para abrir e ler um arquivo de texto ASCII na memória. Isso funciona bem (eu posso ver seu conteúdo na memória), mas com uma exceção. Por alguma razão os caracteres de tabulação (0x09) estão sendo alteradas para nulos (0x00). Escusado será dizer que, este está causando estragos ao tentar analisar o arquivo. Alguém sabe o que pode estar causando isso, ou como eu posso corrigi-lo?

Isto é como eu estou abrindo o arquivo:

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

Meu código projeto tem robusta de tratamento de erros, e eu não estou recebendo erros. Todas as sugestões serão apreciadas.

Graças.

Foi útil?

Solução

Isto parece realmente improvável. Você já usou alguma outra ferramenta para examinar o arquivo em disco, e verifique se os caracteres de tabulação estão lá?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top