프로그램이 실행 중인 현재 디렉토리에 파일을 생성할 때 올바른 경로를 얻는 것이 중요합니다. 그러나 코드에서 GetCurrentDirectory() 중에 예외가 발생합니다.
예외는 GetCurrentDirectory에 전달된 잘못된 인수로 인해 발생할 수 있습니다. 이 함수를 호출하기 전에 디렉터리 경로를 저장할 버퍼를 할당해야 합니다.
실행 파일의 경로를 검색하려면 대신 GetModuleFileName을 사용하는 것이 좋습니다.
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
파일 이름 없이 디렉터리 경로를 얻으려면 다음 기능을 사용할 수 있습니다:
#include <windows.h> #include <string> #include <iostream> std::wstring ExePath() { TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH); std::wstring::size_type pos = std::wstring(buffer).find_last_of(L"\/"); return std::wstring(buffer).substr(0, pos); } int main() { std::cout << "my directory is " << ExePath() << "\n"; }
위 내용은 C에서 현재 디렉토리 경로를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!