#include #include #include #include #include #include /* For O_* constants */ #include /* For mode constants */ #include #include #include #include #include #include #include #include /* ***D01*** (simile a esercizio C06, che però usa un file in formato testo) è dato un file che contiene un array di int, in formato binario. scrivere un programma che effettua il sort crescente dell'array di int contenuto nel file e che poi prosegue così: versione A: il file originale viene modificato con l'array di int ordinato versione B: il file originale non viene modificato e l'array di int ordinato viene scritto in un nuovo file */ // crea un file contentente un array di int, in formato binario // usa rand(), con seed fornito come parametro void crea_file_array_int(char * filename, int seed, int len) { int fd; int res; int val; srand(seed); fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR); if (fd == -1) { perror("open"); exit(1); } for (int i = 0; i < len; i++) { val = rand(); res = write(fd, &val, sizeof(val)); if (res == -1) { perror("write"); exit(1); } } if (close(fd) == -1) { perror("close"); exit(1); } } int main() { crea_file_array_int("prova.dat", 1234, 1000); return 0; }