VC++ 2008を使っているのですが、ifstreamってclose()を呼び出しただけでは、
エラービットはクリアされないんんでしょうか?
下のソースコードだと、b.txtとc.txtの中身を表示できないので、
とりあえずclear()呼び出してます。それとも、やっぱり何か使い方を間違っていますか?
どなたかご教示お願いします。
#include <iostream>
#include <fstream>
#include <string>
int main(void)
{
  std::string fileName[3] = { "a.txt", "b.txt", "c.txt"};
  std::ifstream ifs;
  std::string buf;
  
  for(int i=0; i<3; i++){
    ifs.open(fileName[i].c_str());
    if(!ifs.is_open()){
      std::cerr << "Err:" << fileName[i].c_str() << std::endl;
      return (-1);
    }
    while(std::getline(ifs, buf)){
      std::cout << buf << std::endl;
    }
    ifs.close();
    //  ifs.clear();
  }
  return (0);
}