IO関連

sscanfでは[;]とかが無視されてしまう.
    sscanf(str.c_str(), "var see_ok_%s = %s;", word, flag);  flag = ~~~;ってついちゃう.

getline
string型の欄にgetlineがある。http://www.cppreference.com/wiki/jp/io/getline

#include 
istream& std::getline( istream& is, string& s );
istream& std::getline( istream& is, string& s, charT delimiter );
デリミタが指定されている場合はそれを終端として利用する.getline( is, s, is.widen( '\n' ) );

//メンバ関数ではないので、s.getlineとかはだめ.普通に、getline(ifs, s)とかでOK!


istream型にもgetlineがあって、この定義は、
    istream& istream::getline( char* バッファ, streamsize 文字数 );
    istream& istream::getline( char* バッファ, streamsize 文字数, char 区切り文字 );
fin.getline(line, MAX_LENGTH)とか。

ifstreamのコンストラク

ifstream ( );
explicit ifstream ( const char * filename, ios_base::openmode mode = ios_base::in );

ofstreamのコンストラクタも同様
ofstream ( );
explicit ofstream ( const char * filename, ios_base::openmode mode = ios_base::out );

なんか、コンソール上でファイル名を習得したいときは、

  cout << "ファイル名入力(拡張子込み)で入力してください." << endl;
  string filename;
  cin >> filename;
  ifstream ifs(filename.c_str());   //でOK