クロスプラットフォーム環境で実行ディレクトリを決定する方法
プログラミングの分野では、プログラムの実行ディレクトリを決定することは次のとおりです。これは重要ですが、プラットフォームとファイルシステムに依存するタスクです。 C および C 開発者は、これらの依存関係を超えた汎用ソリューションを求めることがよくあります。
完全にプラットフォームに依存しない方法はないかもしれませんが、ここでは Windows と C に合わせたソリューションを紹介します。 Linux:
Windows:
#include <windows.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = GetModuleFileName(NULL, pBuf, len); printf("Execution directory: %s", pBuf); return 0; }
Linux:
#include <unistd.h> #include <string.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] = ''; printf("Execution directory: %s", pBuf); return 0; }
以上がクロスプラットフォーム C/C プログラムで実行ディレクトリを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。