| TOP > C言語 > 低水準入出力 |
|
低水準入出力
オペレーションシステムを直接呼び出して、ストリーム入出力よりも低水準の操作を行う。データのバッファリングや書式化はできない。
ファイルを開く
_open関数を使う。但し、GCC環境ではopen関数である。以下の内容は全てwindowsのVC上での内容である。
_open関数は、ファイルオープンに失敗すると「-1」を返す。
(書式) int _open(const char* filename, int option, [, int access mode]);
filename ファイルオープンするファイル名
option オプション
access mode アクセスモード
戻り値 ファイルハンドル
_open関数を使用するには、io.hヘッダーをインクルードする必要がある。
主なオプションは、ファイルをどのようにオープンするかを指定する。オプションのマクロはfcntl.hに定義されているので、インクルードする必要がある。
_O_APPEND ファイル書き込み前に、ファイルポインタをファイルの終端に移動
_O_BINARY ファイルをバイナリモードで開く
_O_CREAT 新規ファイルを作成し、書き込みモードで開く
_O_RDONLY ファイルを読み出し専用で開く
_O_RDWR 読み出しモードと書き込みモードで開く
_O_TEXT テキストモードで開く
_O_WRONLY 書き込み専用モードで開く
これらのオプション値は、or(|)で複数指定する事ができる。
アクセスモードは、_O_CREATEを指定した時のみ有効である。新規のファイルのアクセスモードを指定する。
_S_IREAD 読み出し許可
_S_IWRITE 書き込み許可
_S_IREAD | _S_IWRITE 書き込みと読み出し許可
ファイルを閉じる
ファイルオープンをしたら、ファイルを閉じなければならない。GCC環境ではclose、Windows環境では_closeを使う。
(書式)_close(int file_handle);
file_handle ファイルハンドル
_openと_closeの例
|
| Copyright 2007 ためになるホームページ All Rights Reserved. |