-4
我試圖從文件讀入數組。但我分配我的數組大小= 5。無論文件有多大,它應該讀取,直到它的大小,然後停止,然後我想複製所有元素已被讀取到一個新的數組= 10,並刪除舊的one.Plus完全讀取文件到我的新陣列。每次新數組的大小應該是它的兩倍時,做同樣的事情。 qoustion是如何確定我的當前數組是否已滿?讓我們假設如何確定數組是否已滿
ifstream in;
while (in.fail())
{
cout << "Exit" << endl;
return 9;
}
int size =5;
int* array;
int* resize;
int inc=0;
array = new int[size];
while (in << *(array+inc))
{
inc++;
/// here i want to detrmine if it's full to do the rest of code
}
PrintArray(resize,size)
任何提示或提示。
如何讓這樣的工作。
while (in >> *(array+inc)
{
if (inc <=5) // if it reaches the size which is 5
{
for (int i=0; i<size i++)
{ // to copy all elements to the new array
resize[i] = array[i]
}// delete the old array
delete[] array;
while (in >> *(resize+size)) // to keep reading the file where it's stoped
}
PrintArray(resize,size) // print it
delete[] resize; // delete the new array and so on
in.close();
任何意見
你知道嗎?當'inc'是5時是滿的,是嗎? – immibis
你沒有分配數組,你只是有一個指針指向一個隨機存儲器位置'int * array'。 –
while(inc <= 5) – Muzy