我正在嘗試編寫一個簡短的函數,該函數可以讓我快速讀取未知大小的文件,並返回指向數組數組和數組長度的指針,但似乎我的代碼不起作用。我究竟做錯了什麼?使用函數讀取長度未知的文件
int readIn(int* pointer, param parameters, string description)
{
string fileName = parameters.fileName + " " + description + ".bin";
ifstream readFile;
readFile.open(fileName.c_str(), ios::in|ios::binary|ios::ate);
int size = readFile.tellg();
int length = size/4;
int* output = new int [length];
readFile.seekg (0, ios::beg);
readFile.read(reinterpret_cast<char*>(output), (size));
readFile.close();
pointer = output; // link new array with the pointer
return length;
}
,並在主要功能:
int* testList;
int numEntries = readIn(testList, parameters, "test");
我結束了一個錯誤,指出使用我testList變量和未初始化。我究竟做錯了什麼?
非常感謝。 – Faken 2010-03-19 16:37:13
沒問題。在你的情況下,最簡單的變化可能是返回一個int *並將返回的長度作爲參數。那就是如果你想避免指向指針的指針。 – 2010-03-19 16:37:58