我正在编写一个函数,它应该(如果文件已经存在)将第一个数字加一并将函数的参数附加到文件的末尾。
例子:
- 附加(4,9);
- 附加(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 循环,因此永远不会将内容复制到数组中,然后再复制到文件中。我不确定到底是什么问题或如何解决它。任何帮助将不胜感激。:)