私の問題は、テキストファイルから整数を読み取り、それらを配列に保存してから、配列を新しい.txtファイルにコピーすることです。
したがって、ファイル「krol.txt
」があります
2 4
3 7
3 13
2 4
3 1
問題は、入力.txtファイルの最後の「1」が保存されないことです。理由はわかりません。ファイルの最後の文字のEOFについて考えていますが、なぜそのように機能するのですか?誰か助けてもらえますか?
これは私のコードです:
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main() {
ofstream outFile;
ifstream fin;
fin.open("krol.txt");
int l=0;
char ch;
while (fin.good()) {
fin.get(ch);
if(ch=='\n') l++;
}
fin.close();
fin.open("krol.txt");
int temp[l][2];
int savel=l;
l=0;
int i=0;
while (fin >> (temp[l][i])) {
i++;
if(i==2) {
i=0;
l++;
}
}
outFile.open("save.txt");
for (int i=0, j=0;j<savel;i++) {
if (i==2) {
i=0; j++;
}
outFile << temp[j][i];
}
outFile.close();
system("PAUSE");
return 0;
}