Il mio programma è il seguente:

codice:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <time.h>
#include <string.h>
#include <sys/stat.h>

#define N 50
#define dim 10

int main (int argc, char **argv) {

	int i;
	char nome_file;
	int fp;

	printf("Nome file su cui scrivere: ");
	scanf("%s", &nome_file);

	fp = open (&nome_file, O_CREAT, 0666);    // ho messo la & perchè mi dava errore ma di solito anche se non la metto va

	srand (time(NULL));

	for (i=0; i<=N; i++) {
		int num_int = rand();
		write(fp, &num_int, 10);                            // dovrebbe srivermi i numeri su file
		printf("Numero (%d): %d\n", i, num_int);   // stampa i numeri a video
	}
	close (fp);
}

Però non funziona, mi stampa i numeri a video mi crea il file ma vuoto, di seguito l'output:

codice:
:
:
:
Numero (47): 1458414155
Numero (48): 425876524
Numero (49): 279330535
Numero (50): 1838176295
Segmentation fault