Allora, io senza l'uso della stringa l'ho svolto così, spero si capisca:
codice:
/* Generare 10000 numeri pseudo-random e salvare i risultati su un file
formattato randat.dat (cioè fine TESTUALE) con record (cioè righe) di 60 caratteri e un file binario (cioè non formattato)
(randat.bin). */
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
int main(void)
{
int i, numeri[100], n=100;
srand((unsigned) time(NULL));
FILE *fileid;
fileid=fopen("randat.dat","w");
/* stampo i numeri casuali generati sullo schermo e contemporaneamente sul file randat.dat */
printf("\n\nNumeri casuali:\n");
for (i=0;i<n;i++)
{
numeri[i]=rand()%n;
if ((i+1)%12==0)
{
printf(" %2d \n",numeri[i]); /* ogni numero occupa così 5 caratteri */
/* poiché devo avere righe di 60 caratteri e ogni numero occupa 5 caratteri, posso avere fino a 60/5=12 numeri per riga: per questo uso il costrutto if */
fprintf(fileid," %2d \n",numeri[i]);
} else {
printf(" %2d ",numeri[i]);
fprintf(fileid," %2d ",numeri[i]);
}
}
int fclose(FILE *fileid);
printf("\n\n");
return 0;
}
Ma ormai mi è rimasto il pallino di come scrivere su stringa gli elementi di un vettore, che non riesco a risolvere e che magari potrebbe essermi utile per qualche altro esercizio!