我正在寫一個函數,它應該(如果文件已經存在)將第一個數字加1並將函數的參數追加到文件末尾。C++文本文件指針問題
實施例:
- 追加(4,9);
- append(5,6);
文件內容物在1: 1 \ N 4 \ n 9
文件內容物在2: 2 \ N 4 \ n 9 \ N 5 \ N 6
int append (int obj, int objType) {
ifstream infile;
infile.open("stuff.txt");
if (infile.fail()){
infile.close();
ofstream outfile;
outfile.open("stuff.txt");
outfile << 1 << endl << obj << endl << objType;
outfile.close();
}
else {
int length = 0;
while (!infile.eof()){
int temp;
infile >> temp;
length ++;
}
infile.close();
infile.open("stuff.txt");
int fileContents[length];
int i = 0;
while (!infile.eof()){ /*PROGRAM DOES NOT ENTER HERE*/
infile >> fileContents[i];
i ++;
}
infile.close();
ofstream outfile;
outfile.open("stuff.txt");
fileContents[0] +=1;
for (i = 0; i < length; i++){
outfile << fileContents[i] << endl ;
}
outfile << obj << endl << objType;
}
的程序永遠不會進入第二個while循環,所以內容永遠不會複製到數組中,然後複製到文件中。我不確定問題是什麼或如何解決。任何幫助將不勝感激。 :)
您可能想要修復該格式。 – Catskul 2009-12-01 18:55:42
...通過在每行加上4個空格。 – 2009-12-01 18:57:08
謝謝:)新手在這裏:) – Erica 2009-12-01 19:02:21