我的问题涉及从文本文件读取整数,将它们保存到数组,然后将数组复制到新的.txt文件。无法从.txt文件获取最后一个int
因此,有一个文件“krol.txt
”
2 4
3 7
3 13
2 4
3 1
的问题是,它永远保存最后的“1”从输入.txt文件。我不知道为什么。我认为它关于文件中最后一个字符的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;
}
这*真的*编译? 'int temp [l] [2];'(这是'''非''constst'' int变量,而不是数字)。 – 2013-03-11 23:56:44