나는 다음 코드 줄을 상속 : 처음 3 바이트는 항상 동일합니다하지만 (쓰레기 값으로 가득로ZeroMemory() 이후에도 TCHAR에 왜 쓰레기가 있습니까?
TCHAR temp[300];
GetModuleFileName(NULL, temp, 300);
그러나,이 순서대로, -13, -128, 23 실패). 잘 했어. 다음과 같이 변경했습니다.
TCHAR temp[300];
ZeroMemory(temp, 300);
GetModuleFileName(NULL, temp, 300);
가비지 값이 유지되었습니다. ZeroMemory() 호출 후에는 다른 모든 바이트가 제대로 제로화되고 GetModuleFileName() 이후에 디렉토리가 버퍼에 제대로 저장되었습니다. temp가 temp + 3으로 대체되는 것과 같습니다. 이것은 단어 경계와 관련이있을 수 있습니까?
누군가 무슨 일이 일어나고 있고 어떻게 수정해야하는지 설명 할 수 있습니까?
그리고이 세 가지 쓰레기 값 다음에 무엇을 볼 수 있습니까? 의미있는 것이 있습니까? – AnT
ZeroMemory() 이후에는 0으로 채워지고 GetModuleFileName() 이후에는 디렉토리가 있습니다. 나는 그것을 반영하기 위해 게시물을 편집 할 것입니다. – samoz
아마도 그 문자가 의미있는 문자일까요? – GManNickG