C++の場合、ファイル入出力用に
ifstream(入力ファイルストリーム)
ofstream(出力ファイルストリーム)
fstream(入出力ファイルストリーム)が存在する。
これらが、C言語におけるfopen等に当たることになる。
入力ストリームのistreamには、関数getや関数getlineが存在し、
get()はファイルの最後に来るとEOFを返す。
getline(line,MAX_LINE)だと、MAX_LINE-1文字を読み込み、最後には¥0を付加する。
ifstream fin("ファイル名",入力をopenするモード[省略可]);
/*ifstream fin;
*fin.open("ファイル名",入力をopenするモード[省略可]);でも良い。
*/
if(fin.fail()) {
exit(-1);//ファイルopenに失敗した場合は終了する
}
char str[100] = {'\0'};
int i = 0;
while(!fin.eof()){
str[i] = fin.get();
i++;
}
fin.close();
[読み込みにchar型を使う場合]
char c;
while( (c = fin.get()) != EOF) {
//何らかの処理
}
といった使い方もよく使われるので覚えておこう。
[読み込みにstring型を使う場合]
string str;
fin >> str;
で一文字列分格納される。
ofstream fout("ファイル名",入力をopenするモード[省略可]);
fout.write("文字",書き込む長さ); //ofs << "入れたい文字";といったような書き込みもできる
fout.close();
最終更新:2011年04月03日 11:14