Linuxで「temp」ディレクトリを見つけるにはどうすればよいですか?一時ディレクトリを返すプラットフォームニュートラルなC++関数を書いています。MacとWindowsには、これらの結果を返すAPIがあります。Linuxでは、私は困惑しています。
Charles
質問する
73620 次
5 に答える
19
編集:コメンターからのフェアポイント。tmpnam
最近は良い選択ではありません。代わりにmktemp
/を使用してください。mkstemp
歴史的な答え: POSIX に準拠し、tmpnam を使用します (一時的な場所に完全なファイル名が表示されます)。
于 2008-08-27T20:00:04.373 に答える
12
$TMPDIR 環境変数の値を使用し、それが存在しない場合は/tmp
.
于 2008-08-27T19:59:13.847 に答える
11
特にGNUの観点から、受け入れられるシーケンスは次のとおりです。
- プログラムがSUID/SGID ( issetugid() == 0 )として実行されていない場合にのみ、環境変数TMPDIR ( getenv("TMPDIR") ) を確認します。
- それ以外の場合は、P_tmpdirが定義されていて有効であれば使用します
- 最後に、それらが失敗した場合は、 paths.hから入手できる_PATH_TMPを使用します。
拡張機能またはモジュールを追加する場合は、コアがこの目的のための機能を提供しているかどうかを確認してください。たとえば、PHP は main/php_open_temporary_file.h から php_get_temporary_directory() をエクスポートします。
于 2013-08-29T01:38:22.887 に答える
1
標準cでは、次のことを試すことができます:P_tmpdir
于 2008-08-27T19:59:08.667 に答える