※ ChatGPTを利用し、要約された質問です(原文:io error flag を消去したいのですが)
IO Error Flagを消去する方法とは?
このQ&Aのポイント
プログラムでIO Error Flagをリセットする方法について教えてください。
下記のプログラムでは、一度入力がフェイルすると正常に入力動作ができなくなってしまいます。どうすればIO Error Flagを消去できるでしょうか?
gomi.txtというファイルを開いてデータを読み込むプログラムですが、errorフラグをリセットするためにはどのような処理が必要でしょうか?
下記プログラムで一度入力がフェイルすると正常に入力動作ができなくなります
フラグをリセットする方法を教えてください
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
void main(void)
{
char buffer[256];
string str;
char c;
ifstream ifs;
//gomi.txt="123"
ifs.open("gomi.txt");
ifs.read(buffer,8);
//errorフラグをリセットするためにここに何がいるか教えてください
ifs.iostate=0;
ifs.seekg(0);
for(str="";true;str+=c){ifs.get(c);if(ifs.eof()!=0)break;}
cout<<"gomi.txt:"<<str<<endl;
}
お礼
ありがとうございます その方法で動くようです 実はこちらの手違いでその方法を試していたのですが gomi.txtを誤ってデータを空にしてしまっていたので 動いていないと思いこんでいました 指摘を受けて改めて改めて見直してみたところ gomi.txtが””であり”abc”になっていなかったので馬鹿やっていたことに気がつきました 同もお騒がせしました