#include <vector>
//...
struct Record
{
int x;
int y;
int z;
int other_data[10];
};
//...
std::vector<Record> my_data;
my_data.reserve(3000);
Record current_record;
while ( /* there are records in file */ )
{
// read current record from file
my_data.push_back(current_record);
}
//...
I don't know if/how you can increase the stack size programmatically. I wouldn't do that.
If you don't want to use vectors and structs, you can always use plain pointers:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <string>
//...
std::string ** array;
array = new std::string * [3000];
for (int i = 0; i < 3000; i++)
array[i] = new std::string[13];
// use your array here
for (int i = 0; i < 3000; i++)
delete[] array[i];
delete[] array;
//...