문제:
프로그램이 있는 디렉터리의 전체 경로 결정 실행은 많은 프로그래밍 시나리오에서 기본적인 작업입니다. 그러나 다양한 플랫폼과 파일 시스템에서 이를 달성하는 것은 시스템별 구현으로 인해 어려울 수 있습니다. 플랫폼에 구애받지 않고 이 작업을 수행할 수 있는 간결하고 효율적인 방법을 제공할 수 있습니까?
해결책:
운영 체제에 따라 이를 검색하는 고유한 접근 방식이 있습니다. 정보:
#include <windows.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = GetModuleFileName(NULL, pBuf, len); return bytes ? bytes : -1; }
#include <string.h> #include <unistd.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = MIN(readlink("/proc/self/exe", pBuf, len), len - 1); if (bytes >= 0) pBuf[bytes] = ''; return bytes; }
이러한 방법은 하위 수준 시스템 기능을 사용하여 운영 체제에서 직접 경로를 가져옵니다. 플랫폼에 구애받지 않는 기능.
위 내용은 C/C 프로그램의 실행 디렉터리 크로스 플랫폼을 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!