Gli esercizi
Testi e soluzioni di alcuni esercizi
Scrittura su file
/*
** leggiscrivi.c
**
** Letta in input una sequenza di numeri interi la memorizza
** in un array e la salva su un file.
**
** Marco Liverani (liverani@mat.uniroma3.it) - Aprile 2001
**
*/
#include <stdlib.h>
#include <stdio.h>
#define MAX 50
/*
* Lettura di un array di interi; restituisce il
* numero di elementi letti in input.
*/
int leggi_array(int x[]) {
int i, n;
fprintf(stderr, "Numero di elementi: ");
scanf("%d", &n);
fprintf(stderr, "Inserisci %d elementi: ", n);
for (i=0; i<n; i++)
scanf("%d", &x[i]);
return(n);
}
/*
* Salva su file i numeri presenti nell'array.
*/
void scrivi_file(int x[], int n) {
int i;
char nome[MAX];
FILE *f;
fprintf(stderr, "Nome del file di output: ");
scanf("%s", nome);
if (f = fopen(nome, "wt")) {
for (i=0; i<n; i++)
fprintf(f, "%d ", x[i]);
fprintf(f, "\n");
fclose(f);
} else
fprintf(stderr, "Errore nella creazione del file %s.\n", nome);
return;
}
/*
* Funzione principale.
*/
int main(void) {
int V[MAX], n;
n = leggi_array(V);
scrivi_file(V, n);
return(0);
}