Corso di Informatica Generale - Primo modulo IN1

Testi e soluzioni di 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(1);
}

Per informazioni e commenti: liverani@mat.uniroma3.it - Torna alla Home page - Ultima modifica: 18 Aprile 2001