0
質問があります。ファイルの最後にスペースを入れないと、私のプログラムが最後の整数を読み込まないのはなぜですか?終了スペースのない唯一の番号のテキストファイルがある場合、プログラムは何も読み込みません。最後の整数ファイルを読むC++
これが私のプログラムである:
#include <iostream>
#include <fstream>
using namespace std;
int main(){
fstream f1,f2;
int k;
int q;
cout << "Inserisci numero lettere da leggere : ";
cin >> q;
f1.open("in.txt", ios::in);
f2.open("out.txt", ios::out);
if(f1.fail()){
cout << "Impossibile aprire il file";
exit(1);
}
f1 >> k;
while(!f1.eof() && q > 0){
q--;
cout << k << '\n';
f2 << k;
f1 >> k;
}
f1.close();
f2.close();
return 0;
}
英語でコードを書くことができます。 – 21koizyd
を読む[なぜループ状態のiostream :: eofが間違っていると思われるのですか?](https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) – molbdnilo
'!f1.eof()'は最後の値を2回書くことにつながりますが、実際にはあなたのプログラムが*任意の*番号で読み込まれない理由を説明したり再現することはできません。 'q'に値> 0を入力しますか? –