我的問題涉及從文本文件讀取整數,將它們保存到數組,然後將數組複製到新的.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