プログラムの実行ディレクトリの決定
プログラムが実行されているディレクトリの絶対パスを取得するには、さまざまなプラットフォーム固有のメソッドを使用できます。雇用される。一般的な 2 つのアプローチを次に示します。
Windows:
Windows には、実行中のプログラムのフル パスを返す GetModuleFileName 関数が用意されています。これを使用するには、パスとその長さ (size_t len = sizeof(pBuf)) を格納する文字バッファ (char pBuf[256]) を宣言します。次に、モジュール ハンドルとして NULL を渡し、2 番目のパラメーターとしてバッファ アドレスを渡して GetModuleFileName を呼び出します。この関数は、パスの長さを文字単位で返します。
Linux:
Linux では、readlink 関数を利用できます。 /proc/self/exe パスをソースとして、バッファ アドレスを宛先として受け入れます。戻り値はバッファに書き込まれたバイト数で、バッファの長さ (len - 1) より小さくなければなりません。バッファに書き込んだ後は、必ず null ターミネータを追加してください。
このアプローチは、プラットフォームやファイルシステムに依存しません。ただし、特定のプラットフォームとファイル システム用のソリューションを提供するため、さまざまなシナリオにとって価値があります。
以上がWindows および Linux 上でプログラムの実行ディレクトリを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。