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

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

バッファを使用しない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);

日時: 2008年06月11日 15:01
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/262

この記事にトラックバックされる方は、参照先が分かるようにするために、「バッファを使用しないI/O」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - C言語とC++勉強ルーム