C++では、オープンされたファイルの先頭へのポインタを何とか取得して、ポインタ(ポインタ)をunix write関数に渡すことは可能ですかファイルのサイズ?C++でファイルの先頭へのポインタを取得する方法
ファイル全体を書き込みのような機能に渡したいのですが、どうすればいいですか?
C++では、オープンされたファイルの先頭へのポインタを何とか取得して、ポインタ(ポインタ)をunix write関数に渡すことは可能ですかファイルのサイズ?C++でファイルの先頭へのポインタを取得する方法
ファイル全体を書き込みのような機能に渡したいのですが、どうすればいいですか?
sendfile()は、この目的のために特にPOSIXプラットフォームでネットワークを介して送信する際に使用され、カーネルはその複雑さを処理します。
Sendfileは(a)移植性がありません。 (b)一部の宛先(例えばソケットのみ)にのみ対応 – derobert
これはユーザスペースをバイパスします!データを使って実際には何もできないという意味で、カーネルにコピーを命じるだけです!それがすべて行われるべきかどうかという疑問は不明である。そうであれば、これは最速の方法でなければなりません。 – AndreasT
"ポータブルではない"と私は幾分かんざりしていて、私は検索しました。あなたは、絶対に正しい!この関数はLinuxの世界でのみ使うことができ、他のUnixoidやウィンドウはこのコマンドを知らないか、あるいは別の方法で実装します。それでも、Linuxのみを対象としている場合は、可能な限り最良の方法です。 – AndreasT
あなたは非常に明確ではありません - なぜfopen()またはopen()を使用できませんか? –
ファイルストリームを渡して、seekp(ios_base :: beg)を使って現在の位置をファイルの先頭に設定できます。 – ttvd
"ポインタ"について詳しく説明できますか?メモリポインタ、ファイル位置、ファイルポインタ、ハンドル...?おそらく関連コードのスニペットが問題をよりよく理解するのに便利だろう。 – xtofl