我的问题涉及从文本文件中读取整数,将它们保存到数组中,然后将数组复制到新的 .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;
}