47
Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Unità 8 Domenico Daniele Bloisi Si ringrazia Raffaele Nicolussi

Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Embed Size (px)

Citation preview

Page 1: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizi FileCorso di Fondamenti di InformaticaIngegneria delle Comunicazioni – BCORIngegneria Elettronica – BELR

Unità 8

Domenico Daniele Bloisi

Si ringrazia Raffaele Nicolussi

Page 2: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Docenti

Parte I – prof. Silvio [email protected]@dis.uniroma1.it

http://www.dis.uniroma1.it/~salza/fondamenti.htm

Parte II – ing . Domenico Daniele Bloisi, [email protected]

http://www.dis.uniroma1.it/ ~bloisi /didattica /fondinf1112.htmlhttp://www.dis.uniroma1.it/ ~bloisi /didattica /fondinf1112.html

Nota: %7E corrisponde alla tilde ~

2011/2012Esercizi FileUnità 8

Pagina 2

Page 3: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Informazioni Generali

ing. Domenico Daniele Bloisi, PhD

Dipartimento di Informatica e SistemisticaVia Ariosto 25Via Ariosto 25(adiacente Piazza Dante,

A fermate Manzoni, Vittorio Emanuele,Tram 3 fermata via Labicana)

mailto:[email protected]

http://www.dis.uniroma1.it/~bloisi

2011/2012Esercizi FileUnità 8

Pagina 3

Page 4: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Ricevimento

Su appuntamento. Inviare una email per conferma.

DIS, via Ariosto 25DIS, via Ariosto 25II piano, stanza B211

Si consiglia di controllare la bacheca degli avvisihttp://www.dis.uniroma1.it/~bloisi/didattica/fondin f1112.html#Avvisi

2011/2012Esercizi FileUnità 8

Pagina 4

Page 5: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Uso dei File in C

1. Dichiarare il descrittore del fileFILE *<descrittore>;

Esempio:FILE* fd;

2. Il file si apre con la funzione fopen<descrittore> = fopen( <nome_file>,

<modo_apertura );• <nome_file> è il nome fisico del file, come è

chiamato sul disco, es. ingresso.dat• <modo_apertura >:

Pagina 52011/2012

• <modo_apertura >:es. "w" se il file è aperto in scritturaes. "r" se il file è aperto in lettura

Esercizi FileUnità 8

fd = fopen("C:/code/dati.txt", "w");

Page 6: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Uso dei File in C

3. Controllo della corretta aperturaif(fd != NULL) {

4. Esecuzione delle operazioni di lettura o scrittura utilizzando il descrittore del file

5. Il file viene chiusofclose (<descrittore>);

fprintf(fd, "dato");

Pagina 62011/2012

fclose (<descrittore>);

Esercizi FileUnità 8

}fclose(fd);

Page 7: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio#include <stdio.h>#include <stdlib.h>

modalitàscritturaint main()

{FILE *fp;int x = 1;if ((fp = fopen("file.txt","w")) != NULL){

fprintf(fp, "stampa n. %d su file \ n", x);

scrittura

Pagina 72011/2012Esercizi FileUnità 8

fprintf(fp, "stampa n. %d su file \ n", x);}fclose(fp);

}

Page 8: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

Se il file denominato “file.txt” non esiste nella directory contenente l’eseguibile che traduce il codice, “file.txt” viene creato.codice, “file.txt” viene creato.

Se “file.txt” esiste già, il suo contenuto viene cancellato.

Successivamente, il file “file.txt” viene riempito

Pagina 82011/2012Esercizi FileUnità 8

Successivamente, il file “file.txt” viene riempito con la stringa argomento della fprintf .

Page 9: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

Pagina 92011/2012Esercizi FileUnità 8

Page 10: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Attenzione

Mai dimenticare di richiudere uno stream (dopo averlo aperto) al termine del suo (dopo averlo aperto) al termine del suo utilizzo.

L’istruzione da utilizzare è laint fclose(FILE *file_pointer)che chiude un FILE* passato come argomento

Pagina 102011/2012Esercizi FileUnità 8

argomento

Page 11: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Valore di ritorno per fclose

fclose returns '0' if successful(including when file_pointer is 'NULL' or (including when file_pointer is 'NULL' or not an open file);otherwise, it returns 'EOF'.

http://www.cplusplus.com/reference/clibrary/cstdio/ fclose/

Pagina 112011/2012Esercizi FileUnità 8

Page 12: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizio

Scrivere un programma che chieda all’utente di inserire da tastiera il nome per un file ed di inserire da tastiera il nome per un file ed una stringa che sarà scritta in esso.

Il programma deve creare il file e scrivere in esso la stringa digitata dall’utente.Un messaggio di errore deve essere stampato

Pagina 122011/2012Esercizi FileUnità 8

Un messaggio di errore deve essere stampato a video in caso di insuccesso.

Page 13: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Soluzione#include <stdlib.h>#include <stdio.h>

int main () {int main () {char nomefile[80], parola[80];printf("digita il nome del file da creare:\n");scanf("%s", nomefile);printf("digita una parola da scrivere sul file:\n") ;scanf("%s", parola);FILE *fp;if ((fp = fopen(nomefile,"w")) != NULL) {

fprintf ( fp , " %s", parola);

Pagina 132011/2012Esercizi FileUnità 8

fprintf ( fp , " %s", parola);}else

fprintf(stderr, "ERRORE\n");fclose(fp);

}

Page 14: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio di esecuzione

digita il nome del file da creare:prova.txtdigita una parola da scrivere sul file:digita una parola da scrivere sul file:parole parole parole

Che cosa provoca l’esecuzione del programma con questi input?

Pagina 142011/2012Esercizi FileUnità 8

con questi input?

Page 15: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Modalità di accesso ai file

rApre un file esistente inmodalità lettura (read)posizionandosi all’iniziodel file.del file.

w

Crea un nuovo file e loapre in modalità scrittura(write) posizionandosiall’inizio del file. Se il fileesiste i dati precedentivengono eliminati.

Apre un file esistente in

Pagina 152011/2012Esercizi FileUnità 8

aApre un file esistente inmodalità append; lascrittura avviene a partiredalla fine del file.

Page 16: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Modalità di accesso ai file

r+Apre un file esistente inmodalità lettura e scritturaposizionandosi all’iniziodel file.del file.

w+Crea un nuovo file e lo apre in modalità scrittura e lettura.Se il file esiste i dati precedenti vengono eliminati.

a+

Apre un file esistente o necrea uno nuovo in modalitàappend ; la scrittura avviene a

Pagina 162011/2012Esercizi FileUnità 8

a+ append ; la scrittura avviene a partire dalla fine del file mentre la posizione di lettura può essere scelta.

Page 17: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

I/O su stdin e stdout

getchar(void)Legge il prossimo carattere dal flusso di input standard;equivalente a getc ( stdin ) .equivalente a getc ( stdin ) .

gets(char *str) Legge i caratteri da stdin fino a newline o fino alla fine del file.

printf(…)

Scrive uno o più valori sul flusso di output standard in accordo con le regole di formazione definite dall’utente.

Pagina 172011/2012Esercizi FileUnità 8

definite dall’utente.

putchar(int ch)Scrive un carattere sul flusso di output standard; equivalente aputc(stdout) .

Page 18: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

I/O su stdin e stdout

puts(const char *str)Scrive una stringa di caratteri sustdout , inserendo un carattere dinewline al termine della stringa.

scanf(…)

Legge uno o più valori da stdin ,interpretandoli in accordo con leregole di formattazione definitedall’utente.

Pagina 182011/2012Esercizi FileUnità 8

Page 19: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

I/O su FILE

fgetc(FILE *stream)Legge un carattere da un flusso e fa puntare l’indicatore del file al carattere successivo.

fgets( char *str,int num,FILE *stream )

Legge una stringa da un flusso di input specificato. Consente di specificare il numero massimo dicaratteri da leggere.

Pagina 192011/2012Esercizi FileUnità 8

Page 20: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Fine di un File

feof (FILE *stream)

Controlla se è stata raggiunta lafine del file, associato allostream , durante la precedenteoperazione di lettura

Pagina 202011/2012Esercizi FileUnità 8

Page 21: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio feof

#include <stdio.h>#include <stdlib.h>

int main() {int main() {long n = 0;FILE* fd;fd = fopen("lettera.txt", "r+");if(fd == NULL) {

exit(EXIT_FAILURE);}while(!feof(fd)) {

fgetc(fd);n++;

Pagina 212011/2012Esercizi FileUnità 8

n++;}printf("Letti %ld bytes\n", n);fprintf(fd, "<aggiunta>");fclose(fd);

}

Page 22: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Input

Pagina 222011/2012Esercizi FileUnità 8

Page 23: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

Letti 40 bytes

Pagina 232011/2012Esercizi FileUnità 8

Page 24: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio feof modificatoint main() {

long n = 0;FILE* fd;fd = fopen("lettera.txt", "r+");fd = fopen("lettera.txt", "r+");if(fd == NULL) {

exit(EXIT_FAILURE);}fprintf(fd, "<aggiunta>");while(!feof(fd)) {

printf("prima di fgetc\n");fgetc(fd);printf("dopo di fgetc\n");n++;

Pagina 242011/2012Esercizi FileUnità 8

n++;}printf("Letti %ld bytes\n", n);fclose(fd);

}

Page 25: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione…prima di fgetcdopo di fgetcprima di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetc

Si entra in un loop infinito

Pagina 252011/2012Esercizi FileUnità 8

dopo di fgetcprima di fgetcdopo di fgetcprima di fgetc…

Page 26: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio feof correttamente modificato

int main() {long n = 0;FILE* fd;fd = fopen("lettera.txt", "r+");if(fd == NULL) {if(fd == NULL) {

exit(EXIT_FAILURE);}fprintf(fd, "<aggiunta>");fclose(fd);fd = fopen("lettera.txt", "r+");if(fd == NULL) {

exit(EXIT_FAILURE);}while(!feof(fd)) {

printf("prima di fgetc\n");fgetc(fd);

Pagina 262011/2012Esercizi FileUnità 8

fgetc(fd);printf("dopo di fgetc\n");n++;

}printf("Letti %ld bytes\n", n);fclose(fd);

}

Page 27: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione…prima di fgetcdopo di fgetcprima di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetcprima di fgetcdopo di fgetc

Pagina 272011/2012Esercizi FileUnità 8

dopo di fgetcprima di fgetcdopo di fgetcLetti 40 bytes

Page 28: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio: conteggio caratteri in un file

int main( ) {FILE *fPtr ;char ch ;long int cont = 0 ;long int cont = 0 ;if((fPtr = fopen("lettera.txt", "r")) != NULL){

while( fscanf(fPtr, "%c", &ch ) != EOF ) {cont++ ;

}printf( "cont = %ld\n" , cont ) ;// cont = numero caratteri in "lettera.txt"fclose ( fPtr ) ;

Pagina 282011/2012Esercizi FileUnità 8

fclose ( fPtr ) ;}else

printf( "errore apertura file" ) ;return EXIT_SUCCESS;

}

Page 29: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

cont = 39

Perché otteniamo un valore diverso rispetto a “Esempio feof “ ?

Pagina 292011/2012Esercizi FileUnità 8

Page 30: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio: acquisizione array da file

Si assuma di avere un file denominato “comp.dat”di 10 righe che rappresenti un array di dieci eleme ntiinteri, con ogni elemento memorizzato in una riga.interi, con ogni elemento memorizzato in una riga.

Pagina 302011/2012Esercizi FileUnità 8

Page 31: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio: acquisizione array da filescheletro del programma…FILE *frPtr ;int v[ max_d ] , pos ;……/* Formato "comp.dat": 1 int per linea; numerolinee = max_d */if ((( frPtr = fopen( "comp.dat" , "r" )) != NULL ) ){

for( pos = 0 ; pos < max_d ; pos++ )fscanf( frPtr , "%d" , &v[ pos ] ) ;

Pagina 312011/2012Esercizi FileUnità 8

…fclose( frPtr ) ;

}else printf( "errore apertura file\n" ) ;…

Page 32: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio: acquisizione array da filecodice completo#include <stdio.h>#include <stdlib.h>

int main( ) {int max_d = 10;int max_d = 10;FILE *frPtr;int v[max_d], pos;if ((( frPtr = fopen( "comp.dat" , "r" )) != NULL )){

for( pos = 0 ; pos < max_d ; pos++ )fscanf( frPtr , "%d" , &v[pos] ) ;

fclose( frPtr ) ;}

Pagina 322011/2012Esercizi FileUnità 8

}else printf( "errore apertura file\n" ) ;for( pos = 0 ; pos < max_d ; pos++ )

printf("%d ", v[ pos ] ) ;printf("\n");return EXIT_SUCCESS;

}

Page 33: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

12 34 56 78 99 13 14 56 654 -12

Pagina 332011/2012Esercizi FileUnità 8

Page 34: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Trasformare caratteri in interi

La funzione atoi converte una stringa in un intero.

Ad esempio, è utile quando si debba fare dei calcoli numerici con parametri passati da riga di comando. Infatti, i calcoli richiederanno dei tipi numerici (e.g., int ) e non delle stringhe (tipo char * ).

Pagina 342011/2012Esercizi FileUnità 8

(tipo char * ).

Page 35: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

La funzione atoi

NAME:atoi - convert a string to an integer.

SYNOPSIS:SYNOPSIS:#include <stdlib.h>

int atoi(const char *nptr);DESCRIPTION:

The atoi() function converts the initial portion of the string pointed to by nptr to int.

Pagina 352011/2012Esercizi FileUnità 8

portion of the string pointed to by nptr to int.RETURN VALUE:

The converted value.

Page 36: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizio

Realizzare un programma sommafile che prenda tre parametri in ingresso:<A> primo addendo;<A> primo addendo;<B> secondo addendo;<C> nome di un file.Il programma deve sommare A e B, creare un file denominato con il nome C e stampare il risultato nel file.

Pagina 362011/2012Esercizi FileUnità 8

risultato nel file.

Page 37: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esempio

>sommafile -1 15 result.txt

Pagina 372011/2012Esercizi FileUnità 8

Page 38: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esecuzione

Pagina 382011/2012Esercizi FileUnità 8

Page 39: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Convertono stringhe che contengono interi oreali in numeri interi o realireali in numeri interi o reali

Permettono di trattare stringhe (testi) composte da caratteri qualsiasi e di estrarre da essi le parti numeriche

libreria <stdlib.h >

Pagina 392011/2012Esercizi FileUnità 8

libreria <stdlib.h >

Page 40: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Pagina 402011/2012Esercizi FileUnità 8

Page 41: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Pagina 412011/2012Esercizi FileUnità 8

Page 42: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Pagina 422011/2012Esercizi FileUnità 8

Page 43: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Pagina 432011/2012Esercizi FileUnità 8

Page 44: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Funzioni di conversione

Pagina 442011/2012Esercizi FileUnità 8

Page 45: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizi

Esercizio 8.5

Scrivere una funzione che preso in ingresso il Scrivere una funzione che preso in ingresso il nome di un file contenente interi, lo modifichi in modo da contenere gli stessi interi, ma in ordine decrescente.

Pagina 452011/2012Esercizi FileUnità 8

Page 46: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizi

Esercizio 8.6

Scrivere un programma che legga caratteri dalla Scrivere un programma che legga caratteri dalla tastiera e li scriva su un file “copia.txt” fino a che l'utente non immetta il carattere '$', nel qual caso il programma deve terminare verificando la corretta chiusura del file.

Pagina 462011/2012Esercizi FileUnità 8

Page 47: Esercizi File - Dipartimento di Ingegneria informatica ... · Esercizi File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR

Esercizi

Esercizio 8.7

Scrivere un programma che legga un file di testo Scrivere un programma che legga un file di testo “m.txt” contenente 5 righe, con 5 interi separati da uno spazio per ogni riga. Il programma deve leggere il file, creare una matrice 5x5 contenente i dati presenti in “m.txt” e stamparne la trasposta.

Pagina 472011/2012Esercizi FileUnità 8

trasposta.