ファイルアクセス関数fopen
ヘッダ #include "stdio.h"
形 式 FILE *fopen(const char *filename, const char *mode);
機 能 fopen関数は、filenameが示す文字列を名前とするファイルをオープンし、そのファイルにストリームを結び付ける。
実引数modeが指す文字列は、次の文字の並びのうちのいずれかで始まる。
をする更新モードでオープンまたは生成する。
r テキストファイルを読取りモードでオープンする。
w テキストファイルを書込みモードで生成するか、または長さ0に切り捨てる。
a 追加、すなわちテキストファイルをファイルの終わりの位置からの書込みモードでオープンまたは生成する。
rb バイナリファイルを読取りモードでオープンする。
wb バイナリファイルを書込みモードで生成するか、または長さ0に切り捨てる。
ab 追加、すなわちバイナリファイルをファイルの終わりの位置から書込みモードでオープンまたは生成する。
r+ テキストファイルを更新(読取りと書込み)モードでオープンする。
w+ テキストファイルを更新モードで生成するか、または長さ0に切り捨てる。
a+ 追加、すなわちテキストファイルをファイルの終わりの位置から書込みをする更新モードでオープンまたは生成する。
r+bまたはrb+ バイナリファイルを更新(読取りと書込み)モードでオープンする。
w+bまたはwb+ バイナリファイルを更新モードで生成するか、または長さ0に切り捨てる。
a+bまたはab+ 追加、すなわちバイナリファイルをファイルの終わりの位置から書込み
存在しないファイルまたは読取り操作が許されていないファイルに対する読取りモードでのオープン(modeの最初の文字が'r'の場合)は失敗する。
追加モードでオープン(modeの先頭文字が'a'の場合)されたファイルへのオープン後の書込み操作は、すべてファイルの終わりに対して行われる。その間にfseek関数を呼び出しても無視される。バイナリファイルにナル文字の詰め物をする処理系では、バイナリの追加モードでのオープン時(modeの先頭文字が'a'で、'b'が2番目または3番目の文字の場合)には、そのストリームに対するファイル位置表示子を、ファイルに書かれているデータの最後を越えた位置にセットすることもある。
更新モードでオープン('+'がmodeの2番目または3番目の文字である場合)されたファイルに結び付けられたストリームに対しては、入力操作と出力操作を許す。ただし、出力操作の後に入力操作を行う場合、この二つの操作の間にファイル位置付け関数(fseek、fsetposもしくはrewind)を呼び出さなければならない。更に入力操作がファイルの終わりを検出した場合を除いて、入力操作の後で出力操作を行うときは、その二つの操作の間にファイル位置付け関数を呼び出さなければならない。処理系によっては、更新モードでのテキストファイルのオープン(または生成)を、同じモードでのバイナリストリームのオープン(または生成)に代えても構わない。
オープンしたストリームが対話装置に結び付けられていないことが認識できる場合、そしてその場合に限り、そのストリームを完全バッファリングする。オープン時に、ストリームに対するエラー表示子とファイル終了表示子をクリアする。
返却値 fopen関数は、オープンしたストリームを制御するオブジェクトへのポインタを返す。オープン操作が失敗したとき、空ポインタを返す。
[Quote]:
http://www.bohyoh.com/CandCPP/C/Library/fopen.html