다음과 같이 코드 조각을 사용하여 텍스트 파일의 내용을 가져옵니다. 그러나 끝에 buff
버퍼는 한 곳에서만 숫자 8을 가지며 그 밖의 것은 없습니다. 열리는 파일에는 "Project"라는 단어 만 있습니다. 콘텐츠 또는 내가받는 결과를 어떻게 처리 할 수 있습니까? 다음 코드의 무엇이 잘못 되었습니까?Windows API를 사용하여 txt 파일의 내용 처리
TCHAR buff[20];
DWORD dwNumRead;
CString finalPath = path + L"\\" + fileName.c_str();
HANDLE hfile=CreateFile(finalPath ,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(ReadFile(hfile,buff,20,&dwNumRead,NULL))
{
CString temp;
temp.Format(L"%s",&buff[0]);
ATLTRACE(L"Success %s", temp);
}
CloseHandle(hfile);
유니 코드 또는 멀티 바이트 문자 집합으로 컴파일 하시겠습니까? 'L "% s"'으로 멀티 바이트와 포맷을 컴파일하는 경우, 첫 번째 문자는 멀티 바이트 문자로 terminating-null처럼 취급 될 후행 '0'을 가질 것입니다. – JoeFish