3.7 簡単なファイル入出力

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



桂田 祐史