ひとつのfstreamで複数のファイルを開くとき

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
LaL

ひとつのfstreamで複数のファイルを開くとき

#1

投稿記事 by LaL » 16年前

どうもこんにちは。
fstreamについての質問です。
学校の宿題で、ひとつのifstreamのみで、複数のファイルを開こうとしているのですが、うまくいきません…。

メインの中で、

string inputFileName;
ifstream inputFile;
ofstream outpuFile;

と宣言して、

ユーザーからgetline(cin,inputFileName);でインプットファイル名であるstringを読み取って、
inputFile.open(C-stringのファイル名);
という具合にして、一つ目のファイルは難なく開けるのですが、do-whileを使用して、二つ目のファイルを開くときにエラーが起こってしまい、開けません。
二つ目のファイルを開く前に一つ目のファイルはinputFile.close()で閉じてあるのですが…。
また、以下のようなコードで、EOFまで読み取っているはずなのですが、もし何か私の見落としに気付く方がいらっしゃれば、有難いです(_ _)
while(inputFile.peek() != EOF){
	inputFile >> fromFile;
    x[length++] = atof(fromFile.c_str());
	if(!inputFile){
           length--;
	  inputFile.clear();
           break;
	}
   }

Justy

Re:ひとつのfstreamで複数のファイルを開くとき

#2

投稿記事 by Justy » 16年前

 ifstreamのオブジェクトを再利用するなら、inputFile.close()した際に
inputFile.clear()もコールして下さい。

C++入出力
ttp://www.cppll.jp/cppreference/cppio_details.html#clear

LaL

Re:ひとつのfstreamで複数のファイルを開くとき

#3

投稿記事 by LaL » 16年前

どうもありがとうございました(_ _)

閉鎖

“C言語何でも質問掲示板” へ戻る