Ahojte. Trošku jsem zmatený jak alokovat nový paměťový prostor. V mém příkladu jde o načítání ze souboru. V základu mám pole o velikosti 10, pokud ale tohle pole vyčerpám, chtěl bych ho například zvýšit o dalších 10 prvků a tak dále až se nenačte celý soubor.
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdlib.h>
#include <new>
using namespace std;
typedef struct shop {
long int id;
string nazev;
string popis;
long int cena;
long int pocet_kusu;
}shop;
int main()
{
int velikost_pole = 0;
int i = 0;
shop shop[10];
string proud;
string file_in = "vstup"
string pripona = ".csv";
file_in = file_in + pripona;
// Načtení ze souboru
ifstream vstup_soubor;
vstup_soubor.open(file_in.c_str(), ios::in);
while(!vstup_soubor.eof())
{
getline(vstup_soubor, proud,';');
if(proud.length() == 0) break;
shop[i].id = atoi(proud.c_str());
getline(vstup_soubor, proud,';');
shop[i].nazev = proud;
getline(vstup_soubor, proud,';');
shop[i].popis = proud;
getline(vstup_soubor, proud,';');
shop[i].cena = atoi(proud.c_str());
getline(vstup_soubor, proud,'\n');
shop[i].pocet_kusu = atoi(proud.c_str());
proud = "";
i++;
velikost_pole++;
}
vstup_soubor.close();
}
Pokud mi někdo poradí jak to přesně v tom cyklu udělat budu rád. Pokud mi to někde napíše přesně budu ještě raději, protože jsem vyzkoušel několik variant a prostě to nechápu a padá mi to pořád. Díky.