2009-04-28 3 views

답변

4

GetTempPath은 보통 TMP 또는 TEMP (최소한 Windows XP의 경우)이라는 환경 변수의 값을 짧은 경로 이름으로 반환합니다.

환경 변수를 초기화 할 때 Windows에서 HKEY_CURRENT_USER\Environment 레지스트리 키의 짧은 경로 이름으로 변환하는 것으로 나타납니다.

0

GetTempPath를 사용하는 대신 TEMP 환경 변수의 값을 가져 오는 것이 가장 좋은 이유는 무엇입니까? 그것은 이미 긴 길일 것입니다.

+0

확인했습니다. 그렇지 않습니다. –

0

나는 이것이 호환성을 이유로 이루어진 것이라고 생각합니다. 이전 버전의 Windows에서는 임시 경로가 비교적 짧았습니다. 최신 Windows에서는이 경로가 훨씬 길어집니다. 많은 오래된 응용 프로그램은 임시 경로 검색을 위해 고정 길이 (작은 길이)의 버퍼를 사용할 수 있습니다. 긴 파일 이름 (비교적 큰 파일)을 반환하면 버퍼가 너무 작아서이 오래된 프로그램이 손상됩니다. 그것이 GetTempPath가 짧은 경로 이름을 반환하는 이유입니다.

관련 문제