2009-09-14 6 views
0

Visual C++ 2008에서 CreateFileA 및 ReadFile을 사용하여 ASCII 텍스트 파일을 열고 메모리로 읽습니다. 이것은 괜찮습니다. (메모리 내용을 볼 수 있습니다.) 한 가지 예외가 있습니다. 어떤 이유로 TAB 문자 (0x09)가 NULL (0x00)으로 변경됩니다. 말할 필요도없이, 파일을 파싱하려고 할 때 혼란을 겪고 있습니다. 아무도이 문제의 원인이 무엇인지 또는 어떻게 해결할 수 있는지 알고 있습니까?ASCII 파일 탭 읽기가 NULL로 대체되었습니다.

이것은 내가 파일을 여는거야 방법입니다

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

내 프로젝트 코드는 강력한 오류 처리를 가지고 있으며, 나는 오류를받지 못했습니다. 모든 제안을 부탁드립니다.

감사합니다.

답변

1

이것은 실제로 발생하지 않을 것 같습니다. 다른 도구를 사용하여 디스크상의 파일을 검사하고 탭 문자가 있는지 확인 했습니까?

+1

사실 나는 방금 대답을 찾은 것 같습니다. strtok_s는 각 토큰이 문자열을 따라 이동할 때 NULL로 바뀝니다. –

+0

그래, 그럴거야 ... –

관련 문제