実はあまり自信がないが、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); |