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);
}