バッファを使用しないI/O

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

バッファを使用しないI/Oでは、データはバッファリングされずに、すぐに出力・ファイル送信が行われます。
読み取りや書き込みなどのシステムコールの頻度を少なくするためには、バッファを使用するI/Oを用いるようにします。
大量のバイナリデータを読み取り・書き込みを行う場合、デバイスやファイルを直接操作などの場合に、バッファを使用しないI/Oを用います。

スポンサーリンク

バッファを使用しないファイルオープン・open

バッファを使用しないファイルをオープンするには、システムコールopenを使います。

int ファイルディスクリプタ = open(名前, フラグ);    // 既存ファイル
int ファイルディスクリプタ = open(名前, フラグ, モード);    // 新規ファイル

・ファイルディスクリプタ
ファイルオープンした後、ファイルを識別するための整数。
0よりも小さい場合は、エラー発生を示す。

・名前
ファイル名

・フラグ
オープンフラグの設定

・モード
ファイルのプロテクションモード。通常は0644。

// 読み取り専用でオープン
data = open("data.txt", O_RDONLY);
// 書き込み専用でファイル作成
out = open("output.dat", O_CREATE|O_WRONLY, 0666);
スポンサーリンク
 
スポンサーリンク