問題タブ [mkstemp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python - 「開いているファイルへの OS レベルのハンドル」をファイル オブジェクトに変換するにはどうすればよいですか?
開いているファイルへの OS レベルのハンドル (os.open() によって返される) とそのファイルの絶対パス名をこの順序で含むタプル。
その OS レベルのハンドルをファイル オブジェクトに変換するにはどうすればよいですか?
os.open()のドキュメントには次のように記載されています。
ファイル記述子を「ファイル オブジェクト」にラップするには、fdopen() を使用します。
だから私は試しました:
c++ - std::ofstream を一時ファイルに作成するには?
さて、mkstemp
POSIXで一時ファイルを作成するための推奨される方法です。
ただし、ファイルを開き、int
ファイル記述子である を返します。それから、私は FILE* のみを作成できますがstd::ofstream
、C++ で好まれる は作成できません。(明らかに、AIX やその他のシステムではstd::ofstream
、ファイル記述子から を作成できますが、それを試みるとコンパイラがエラーを出します。)
一時ファイル名を取得しtmpnam
、それを使用して独自の ofstream を開くことができることはわかっていますが、競合状態のために明らかに安全ではなく、コンパイラの警告が表示されます (Linux では g++ v3.4):
それで、std::ofstream
一時ファイルに作成する移植可能な方法はありますか?
c - ファイル記述子からFILEポインタを取得するにはどうすればよいですか?
ファイル記述子を提供する、で遊んでmkstemp()
いますが、を介してフォーマットされた出力を生成したいと思いますfprintf()
。によって提供されるファイル記述子を、での使用に適しmkstemp()
た構造に変換する簡単な方法はありますか?FILE *
fprintf()
cocoa - Mac OS Xでmkstemp()によって作成されたファイルを削除できません
どうやら、NSFileManager
によって作成されたファイルを削除することはできませんmkstemp()
。これを実証するためのテストコードを次に示します。
上記のコードを実行すると、ログに表示される内容は次のとおりです。
私はこれをSnowLeopardで実行しています。問題が発生している理由および/または問題を回避する方法についてのアイデアはありますか?
ありがとう!
c++ - win32のmkstemp()実装
Win32または非常に近いアナログでmkstemp()(C / C ++)を実装するコードを誰かに教えてもらえますか?
レースフリーである必要があります。
それは次のように見えるはずです
ありがとう
c++ - mkstempに相当するC++標準ライブラリは何ですか?
一時ファイルを使用するプログラムをPOSIXFILE
からC++標準ライブラリのiostreamに移行しています。mkstempの正しい代替手段は何ですか?
c++ - mkstemp から生成されたファイル名の使用
このmkstemp()
関数は、テンプレートから一意の一時ファイル名を生成し、ファイルを作成して開き、ファイルの開いているファイル記述子を返します。テンプレートの最後の 6 文字は「XXXXXX」である必要があり、これらはファイル名を一意にする文字列に置き換えられます。テンプレートは変更されるため、文字列定数ではなく、文字配列として宣言する必要があります。
テンプレートをファイル名を一意にする文字列に置き換えた後、後で使用するために文字列を保存します。これは、私が頭を包み込むことができないような奇妙な問題に遭遇しているところです。正しいファイル名を端末に出力し、ファイル エクスプローラーでファイルを表示し、それを開いて正しい内容を確認できますが、実行するコマンドの一部として文字列を含めるpopen()
と、空のファイルへのポインターが取得されます。ただし、一時ファイルの名前をコードにハードコーディングして再度実行すると、期待どおりの正しい結果が得られます。見落としているものや見逃しているものはありますか? コード スニペットを次に示します。
c - MPI_FILE_OPEN で使用するための MPI 対応 mkstemp(3)?
MPI アプリケーション内で一意のファイル名を生成したいと考えています。
MPI_FILE_OPEN
仕様のバージョン 2.2 で「実装者へのアドバイス」を読むuriPrefix:foo/bar/baz
と、通常のファイル名に加えて、次のようなファイル名foo/bar/baz
が可能であることが示されます。のようなファイル名も同様baz/PASSWORD=SECRET
です。MPI 実装は、この追加情報を使用して正しいことを行うことが期待されています。
これらの追加のファイル名要素は、mkstemp(3)
. 前者の場合、uriPrefix
ファイルを格納する場所を示すことができます。後者の場合、のテンプレートの規則bazXXXXXX/PASSWORD=SECRET
が台無しになります。mkstemp(3)
mkstemp(3)
と安全に組み合わせる方法についての提案はありMPI_FILE_OPEN
ますか?
valgrind - 多くの同時 valgrind プロセスを実行すると、mkstemp が失敗する原因は何ですか?
valgrind を使用していくつかのソフトウェアのテストを行っています。理想的には、一度に valgrind の 20 以上のインスタンスを開きたいと考えています。ただし、16 を超えるインスタンスを並行して実行すると、次のようなメッセージが表示され始めます。
一部のプロセス (おそらくそれらの 1/3) は、代わりにエラーで終了します。
これらの呼び出しを実行している間、/tmp にファイルは作成されませんが、使用しているユーザー アカウントには /tmp に対する読み取り、書き込み、および実行のアクセス許可があります。
このバグに関する情報をオンラインで見つけることはできませんが、おそらくどこかでそれについて何か知っているでしょうか?
編集: いくつかのさらなる実験では、実際には一度に実行できるプロセスは 5 つまでであることが示唆されています。
python - Python mkstemp サフィックス
私が取り組んでいる Django プロジェクトで、画像のアップロードを処理する次のコードがあります。
アップロード部分はすべて正常に機能していますが、mkstemp は、拡張子の後に 6 つのランダムなサフィックスを追加して画像を保存しています (例: test.png -> test.pngbFVeyh)。2 番目のコード行で接尾辞を渡しても、それが追加されますが、さらに 6 つのランダムな文字が追加されます。起こっている他の奇妙なことは、アップロードフォルダー(私の場合はMEDIA_ROOT)で、写真と同じ名前の別の空のプレーンテキストドキュメントタイプファイル(例:test.pngbFVeyh)と一緒に作成されることです。mkstemp に関するドキュメントを読みましたが、代替ソリューションが見つかりませんでした。