문제

Visual C ++ 2008에서 CreateFilea 및 ReadFile을 사용하여 ASCII 텍스트 파일을 메모리에 열고 읽습니다. 이것은 괜찮습니다 (메모리에서 내용을 볼 수 있습니다). 그러나 한 가지 예외가 있습니다. 어떤 이유로 탭 문자 (0x09)가 널 (0x00)으로 변경됩니다. 말할 것도없이, 파일을 구문 분석하려고 할 때 이것은 혼란 스럽습니다. 이 원인이 무엇인지 또는 어떻게 고칠 수 있는지 아는 사람이 있습니까?

이것이 제가 파일을 여는 방법입니다.

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

내 프로젝트 코드에는 강력한 오류 처리가 있으며 오류가 발생하지 않습니다. 모든 제안은 감사 할 것입니다.

감사.

도움이 되었습니까?

해결책

이것은 거의 가능성이 낮은 것 같습니다. 다른 도구를 사용하여 온 디스크 파일을 검사하고 탭 문자가 있는지 확인 했습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top