Buongiorno, come da titolo sto cercando un modo di gestire un ciclo che alloca in fase di esecuzione, n elementi generati casualmente all'interno di un file.
In particolare, se dico al programma in fase di esecuzione di inserire ad esempio n = 100000000 di elementi, il ciclo inizia, il SO mi comunica che ho esaurito lo spazio su disco (sì, ho fatto una partizione un po'piccola per il mio Linux), e il ciclo non termina.
Cerco quindi un modo per bloccare il ciclo che inserisce dati in automatico nel momento in cui la memoria viene esaurita e che quindi permette di continuare l'esecuzione del programma.
Ecco il codice:
for (i = 1; i <= n; i++)
{
casualeaa = 1950 + rand() % 70;
casualemm = 1 + rand() % 12;
casualegg = 1 + rand() % 31;
casualehh = rand() % 25;
rilevazione = (casualeaa * 10 * 10 * 10 * 10 * 10 * 10) + (casualemm * 10 * 10 * 10 * 10) + (casualegg * 10 * 10) + casualehh;
fprintf(dati, "\n%10ld\t", rilevazione);
casualegasintero = rand() % 100;
casualegasdecimale = rand() % 100;
gas = (double)casualegasintero + (casualegasdecimale/100);
fprintf(dati, "%2.2f\t", gas);
casualeelettricitaintero = rand() % 100;
casualeelettricitadecimale = rand() % 100;
elettricita = (double)casualeelettricitaintero + (casualeelettricitadecimale/100);
fprintf(dati, "%2.2f\t", elettricita);
}
Grazie in anticipo dell'aiuto