C言語 ファイルオープンのモード - stdio.h - [ fopen ]

2008.09.17 Wednesday | by LRESULT


は、ファイルを開いてみました。

ファイルを開く時は fopen()関数のモード引数(第2引数)を、
読み取り用の"r"に設定しましたが、
書き込む場合や、追加する場合のオープンモードを見てみます。


オープンモードの文字列は最大3文字で構成されます。


第1文字目群
r [Read] ファイル読み取りモード
ファイルが無い場合は、NULLを返す。
w [Write] ファイル書き込みモード
ファイルが無い場合は、新規作成する。
ファイルがある場合は、元ファイルの内容を破棄して書き込む。
a [Append] ファイル追加書き込みモード
ファイルが無い場合は、新規作成する。
ファイルがある場合は、終端に追加する。



第2文字目群と第3文字目群
b [Binary] バイナリモード
テキストファイルではなく、バイナリとして開く。
+ [Plus] 複合モード
第1文字目群に、対となるモードを追加し読み書きを両方出来るようにする。

第2文字目と第3文字目は、入れ替えでも大丈夫です。



バイナリモードとテキストモードの違いとは?
バイナリモード "b" を指定しない場合はテキストモードになります。

テキストモードでは、
ファイル読み取り: 改行記号CR+LF[¥r¥n](0x0D, 0x0A)を、LF[¥n](0x0A)に変換
ファイル書き込み: 改行記号LF[¥n](0x0A)を、CR+LF[¥r¥n](0x0D, 0x0A)に変換

バイナリモードでは、読み書き両方とも変換せずに読み書きします。


オープンモードの全パターン
"r" 読み取りモード
"w" 書き込みモード
"a" 追加書き込みモード
"rb" バイナリ読み取りモード
"wb" バイナリ書き込みモード
"ab" バイナリ追加書き込みモード
"r+" 読み取り+書き込みモード
"w+" 書き込み+読み取りモード
"a+" 追加書き込み+読み取りモード
"r+b" or "rb+" バイナリ読み取り+書き込みモード
"w+b" or "wb+" バイナリ書き込み+読み取りモード
"a+b" or "ab+" バイナリ追加書き込み+読み取りモード


カテゴリ:C言語 stdio.h | 22:50 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/46

トラックバック