実はあまり自信がないが、C言語の 「簡単なファイル入出力」 の C++ バージョンを作ってみた。
| fileio.cpp |
/*
* fileio.cpp --- prog13check.c の C++ バージョン
* http://nalab.mind.meiji.ac.jp/~mk/labo/text/cminimum/node18.html
* http://nalab.mind.meiji.ac.jp/~mk/labo/text/cminimum/node19.html
* input.data が "2 3" という内容だとして
* c++ fileio.cpp
* ./a.out
* とすると output.data にも同じ内容を書き出す。
*
*/
#include <iostream>
#include <fstream>
using namespace std;
int main(void)
{
int a, b, sum;
ifstream ifs("input.data");
if (!ifs) {
cerr << "input.data を読むために開こうとして失敗しました。" << endl;
exit(1);
}
ifs >> a >> b;
ifs.close();
sum = a + b;
printf("%d と %d の和は %d\n", a, b, sum);
ofstream ofs("output.data");
if (!ofs) {
cerr << "output.data を書くために開こうとして失敗しました。" << endl;
exit(1);
}
ofs << sum << endl;
ofs.close();
return 0;
}
|
1行丸々読み込むためには、C言語のプログラムでは、 fgets()) を使い、 fget(mybuf, BUFSIZE, fp); のようなことをするが、 C++ では getline() を使うと良い。
#include <string> string mybuffer; getline(ifs, mybuffer); |