Programmazione C Massimo Callisto De Donato
|
|
- Agnese Antonella
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it LEZIONE 9 FILE A.A. 2011/12
2 Gestione dei files in C Un file è una sequenza di bytes che supportano le operazioni di: creazione, cancellazione, posizionamento, lettura, scrittura. Un file può rappresentare qualsiasi cosa (file di testo, schermo, una stampante, un disco) chiamato canale. Le operazioni saranno tradotte a seconda del canale su cui operiamo. Esempio: scrivere qualcosa su un file che rappresenta lo schermo produce una stampa a video. La stessa operazione su una stampante provoca una stampa.
3 Gestione dei files in C Le classiche operazioni sono: Apertura Possibilità di creazione Operazioni sul file Lettura e scrittura. Posizionamento [solo su file allacciati a canali che lo supportano] Chiusura Serve a scrivere eventuali dati rimasti in attesa da inviare al canale.
4 Gestione dei files in C da stdio.h Funzione fopen() fclose() putc()/fputc() getc()/fgetc() fgets()/fputs() fread()/fwrite() fprintf()/fscanf() fseek() feof() ferror() rewind() fremove() fflush() Significato Apre un file Chiude un file Scrive un carattere su file Legge un carattere da file Come sopra su stringhe Lettura/scrittura di byte da/su file Equivalente della printf/scanf su file Posizionamento su un certo byte del file Raggiungimento fine file Restituisce vero se si verifica un errore Riporta l indicatore di posizione all inizio del file Cancella il file Scarica il contenuto del buffer in memoria
5 File: aggetti utili Per capire la posizione si usano: NULL: definisce il puntatore nullo EOF: identifica la fine del file Costanti di posizionamento(con fseek()) SEEK_SET inizio file SEEK_CUR posizione corrente SEEK_END: fine del file
6 File: apertura Apertura: #include <stdio.h> FILE *fopen(const char * filename, const char *mode); Il prototipo dice: Una stringa filename in ingresso Una stringa mode che identifica come aprire il file Ritorna: un puntatore a struttura di tipo FILE NULL se l apertura non va a buon fine.
7 Esempio #include <stdio.h> // STanDard Input/Output FILE *fp; if((fp = fopen( test.txt, r )) == NULL){ printf( Errore di apertura di test.txt!\n ); exit(-1); // Possiamo operare sul file puntato da fp
8 File: la struttura FILE La struttura FILE è contenuta nella libreria stdio.h Mantiene le informazioni per la corretta gestione del file [nome, modalità di apertura, posizione corrente, ] Le funzioni che operano sul file useranno queste informazioni a seconda dei casi. Es.: fwrite() controllerà nella struttura se abbiamo aperto il file in modalità corretta.
9 File: modalità di apertura Modalità r w r+ w+ a a+ b Read Write Read & Write Write & Read Append Append & Read Binary Descrizione File di testo in sola lettura [se non esiste torna NULL] File di testo in sola scrittura [ il contenuto viene cancellato,se il file non esiste viene creato] File di testo in lettura e scrittura [se non esiste torna NULL] File di testo in scrittura e lettura [il contenuto viene cancellato, se il file non esiste viene creato] File di testo in scrittura aggiungendo i dati alla fine del file [ae il file non esiste viene creato]. Come append ma aggiunge anche la lettura. Se una b viene aggiunta alle modalità precedenti si indica che il file è binario. [rb, wb, ab, e r+b, w+b, a+b]
10 File: modalità di apertura In modalità testo ciò che effettivamente contiene il file può non rispecchiare ciò che leggiamo/scriviamo. Esempio: new line può corrispondere al carattere \n oppure alla coppia di caratteri CarriageReturn + LineFeed ( \r\n ). In modalità binario leggiamo ciò che si trova sul file [i due caratteri CR e LF]
11 Esempio #include <stdio.h> #include <stdlib.h> #define MAX_LEN 100 int main(int argc, char *argv[]) { FILE *fp; char mfile[max_len], mod[4]; while(1){ printf("file da aprire e modalita'[r r+ w w+ a a+...]:"); scanf("%s%s", mfile, mod); if((fp = fopen(mfile, mod)) == NULL){ printf("errore di apertura di %s!\n", mfile); exit(-1); printf("file %s aperto in modalità %s!\n", mfile, mod); // do nothing fclose(fp);
12 Esercizio Modificare il programma precedente per aprire un solo file nella modalità scelta. Il file su cui operare deve essere indicato all avvio del programma. Schema di utilizzo: programma.exe nome_file modalità
13 File: chiusura La chiusura del file è sempre un operazione importante: (in generale) l O.S. gestisce scritture bufferizzate. La chiusura forza a scrivere i dati ancora bufferizzati. int fclose(file* fp); Restituisce zero se va a buon fine; EOF se c'è stato qualche errore; Quando può tornare EOF? Es.: il file puntava ad un disco e prima della chiusura qualcuno lo ha estratto dal computer.
14 File: lettura/scrittura Dopo l apertura di un file possiamo: Leggere/scrivere caratteri: getc(), putc() Leggere/scrivere stringhe: fputs(), fgets() Leggere e scrivere con fscanf(), fprintf() In modalità binario leggiamo/salviamo tipi di dati arbitrari. Es.: Possiamo creare una rubrica tramite le struct. Il salvataggio consiste nello scrivere le variabili di tipo struct su un file.
15 File: lettura di caratteri getc() [fgetc()] per la lettura da file di un carattere. int getc(file* fp); Dopo la lettura fp punta al prossimo carattere La funzione ritorna: Il carattere letto EOF per la fine del file EOF in caso di errore. Per distinguere tra errore o fine del file usiamo ferror() o feof()
16 Esempio #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; char ch; if((fp = fopen("input.txt", "r")) == NULL){ printf("errore di apertura di input.txt!\n"); exit(-1); printf("file input.txt aperto il lettura!\n"); while( (ch = getc(fp))!= EOF ) { printf( "letto %c [%d]\n", ch, ch); //sleep(10); // se entro 20s elimino input.txt provoco un errore(?) if(!feof(fp)){ printf("c'e' stato un errore!"); printf("%d", ferror(fp)); fclose(fp); return 0;
17 File: scrittura di caratteri putc() [fputc()] per la scrittura su file di un carattere int puntc(int ch, FILE* fp); Accoda alla posizione di fp il carattere ch. Ritorna: Il ch carattere appena scritto EOF in caso di errore
18 Esempio #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; char ch, *ofile = "output.txt"; if((fp = fopen(ofile, w")) == NULL){ printf("errore di apertura di %s!\n, ofile); exit(-1); printf("file %s aperto il scrittura!\n Termina con 0 \n, ofile); while( (ch = getchat())!= 0 ) { if(putc(ch, fp) == EOF){printf( Errore in scrittura!\n ); exit(-1); // Valeva anche: if(fputc(ch, fp)!= ch){ fclose(fp); return 0;
19 Esercizio Scrivere il programma copia_files.c che prende in input: il file da cui leggere il file su cui scrivere: copia_files.exe in.txt out.txt N.b: getc() e putc() non effettuano una copia esatta da in.txt a out.txt, perché?
20 Esercizio Proviamo ad implementare il programma copia_files in modalità binaria. Osservazione 1: dobbiamo aggiungere b alla modalità di apertura di un file. Osservazione 2: in modalità binario un byte potrebbe rappresentare EOF e quindi potremmo leggere erroneamente la fine di un file. Per controllare la terminazione usiamo al suo posto feof(file *).
21 File: lettura di stringhe con fgets() Leggiamo il file a righe con fgets() char *fgets(char *buffer, int n, FILE *fp); Inserisce in buffer i caratteri letti: Fino alla terminazione della riga (con \n compreso); Oppure più n-1 caratteri se la riga è più lunga di n. A buffer si aggiunge automaticamente \0. Ritorna NULL in caso di errore. FILE *fp = fopen( ); char line[line_max]; // vedi LINE_MAX di limits.h... while (fgets(line, LINE_MAX, fp)!= NULL){...
22 File: scritture di stringhe con fputs() Scriviamo il contenuto di buffer nel file int fputs(const char *buffer, FILE *fp); Non verranno aggiunti \n in maniera automatica. Ritorna EOF se c è stato errore, un intero positivo altrimenti. FILE *fp = fopen( ); char line[line_max]; scanf( %s, line); if((fputs(line, fp) == EOF){ /* gestione errore */
23 Esempio int main(int argc, char *argv[]) { FILE *fp; char str[line_max]; int i = 0; if(argc!= 2){ printf("errore! Usare: %s file_scrittura\n", argv[0]); exit(-1); if((fp = fopen(argv[1], "w")) == NULL){ /*errore */ exit(-1); printf("inserire il testo. Una riga vuota per terminare:\n"); while(1){ if(gets(str) == NULL) if(!strlen(str)){ break; if(fputs(str, fp) == EOF) if(fputs("\n", fp) == EOF) fclose(fp); { fclose(fp); exit(-1); { fclose(fp); exit(-1); { fclose(fp); exit(-1); Il carattere \n non era stato inserito in str. Vedi gets() su Open Group
24 Esercizio Creiamo un programma conta_caratteri che: Usi le funzioni fgets() e fputs(); Prende in input un file di testo input.txt; Per ogni riga calcola il numero dei caratteri presenti su una riga; Riscrive la riga su un altro file output.txt aggiungendo il numero dei caratteri trovato. Esempio: input.txt output.txt
25 File: fprintf e fscanf Date le funzioni printf e scanf, esistono le rispettive versioni che operano su file in maniera esattamente uguale: int i = 1034; FILE* fp = fopen(...); fprintf(fp, "%d\n", i); // scrive su fp il valore 1034 fscanf(fp, "%d", &i); // legge da fp Otteniamo l effetto delle funzioni note usando i puntatori a FILE definiti in stdio.h: standard input stdin (la tastiera) standard output stdout (lo schermo) : printf(...) fprintf(stdout,...) scanf(...) fscanf(stdin,...) getchar(...) fgetc(stdin) putchar(c) fputc(c, stdin)
26 Esempio FILE *fp; char str[line_max]; int i = 0; if(argc!= 2){ fprintf(stdout, "Errore! Usare... "); exit(-1); if((fp = fopen(argv[1], "w")) == NULL){ /*errore */ exit(-1); printf("inserire il testo. Una riga vuota per terminare:\n"); while(1){ if(fgets(str, LINE_MAX, stdin) == NULL) { fclose(fp); exit(-1); if(strlen(str) < 2){ break; if(fputs(str, fp) == EOF ) { fclose(fp); exit(-1); //if(fputs("\n", fp) == EOF) { fclose(fp); exit(-1); /* N.b.: fgets legge anche \n e lo memorizza in str; e se c è un solo carattere deve essere \n */
27 File: operare in binario In modalità binario accediamo all effettiva rappresentazione binaria del file. #define BUFF_MAX 512 char buffer[buff_max]; int n; FILE* fp = fopen(...); n = fread(buffer, sizeof(char), BUFF_MAX, fp); Dati in ingresso: Leggiamo sizeof(char) alla volta per BUFF_MAX volte; Il contenuto va inserito in buffer La funzione scrive in n: BUFF_MAX se c erano abbastanza dati < BUFF_MAX se il file è terminato prima
28 File: operare in binario In modalità binario accediamo all effettiva rappresentazione binaria del file. #define BUFF_MAX 512 char buffer[buff_max]; int n; FILE* fp = fopen(...); n = fwrite(buffer, sizeof(char), BUFF_MAX, fp); Dati in ingresso: Scriviamo sizeof(char) alla volta per BUFF_MAX volte; Il contenuto viene letto da buffer La funzione scrive in n il numero degli elementi scritti: BUFF_MAX se è andato tutto bene < BUFF_MAX se c è stato un errore
29 Esempio /* Copia binaria tra due files. Gestione degli errori è omessa */ #define BUFF_MAX 512 FILE *fp_in, *fp_out; char buffer[buff_max]; /* copiamo 1 byte (1 char)alla volta. */ int n = 0; fp_in = fopen( input.txt, rb ); fp_out = fopen( output.txt, wb ); while(!feof(fp_in)){ n = fread(buffer, sizeof(char), BUFF_MAX, fp_in); if(fwrite(buffer, sizeof(char), n, fp_out)!= n){ /* errore */ exit(-1); fclose(fp_in); fclose(fp_out); /* Nb:se al posto di char mettiamo int o altro potremmo avere dei troncamenti! */
30 Esercizio 1. Scriviamo un programma verify_1.c che: Prende in input due files; Verifica se i due files hanno lo stesso contenuto. Opera in modalità testo; Usi le funzioni fread, fwrite. 2. Scriverne un programma verify_2.c che opera come verify_1.c ma effettua il controllo in modalità binaria. 3. Scriverne verify.c che prende in input un ulteriore parametro: text per effettuare una verifica modalità testo; bin per effettuare una verifica in modalità binaria.
31 File: salvataggio tipi di dati derivati Scriviamo/leggiamo su un file strutture dati shop che contiene l id di un negozio ed relativo nome. #define MAX_LEN 100 #define MAX_ID 10 typedef struct { char id[10]; char nome[max_len]; shop; Operiamo in binario con append. Eseguendo più volte il programma la lista crescerà mostrando i negozi salvati in precedenza.
32 Esempio // nel main shop buffer[n]; FILE *fp = fopen( shop.save, ab ); // append binario /* Assumiamo di riempire buffer[n] di N shops e salviamo il file*/ savefile(fp, buffer, N); void save_file(file * file, const shop* buffer, const int size){ int n; n = fwrite(buffer, sizeof(shop), size, file); if(n!= size){ printf("errore di scrittura!\n"); exit(-1);
33 Esempio // nel main FILE *fp = fopen( shop.save, r ); // read binario /* Riapriamo il file e richiamiamo una funzione che lo legge e ne stampa il contenuto */ read_file (fp); void read_file(file * file){ shop *ptr = (shop *) malloc(sizeof(shop)); if(ptr == NULL) { /* errore */ exit(-1); while(fread(ptr, sizeof(shop), 1, file)){ if(ferror(file)){ /* errore */ exit(-1); printf("[id: %s, NOME: %s]\n", ptr->id, ptr->nome); free(ptr); ptr = NULL;
34 File: spostamenti fseek() ci permette di muoverci a piacimento a partire da un punto di riferimento. int fseek(file *fp, long offset, int pos); offset (anche negativo) è la quantità in bytes dello spostamento rispetto al riferimento pos pos può essere inizio (SEEK_SET), posizione corrente (SEEK_CUR), fine file (SEEK_END) Ritorna: 0 in caso di successo -1 se c è stato un errore E.s.: usiamo ftell() per conoscere la dimensione di un file in bytes.
35 Esempio /* long ftell(file *fp); ritorna il n di bytes nella posizione attuale rispetto all inizio del file */ shop buffer[n]; long n = 0; FILE *fp = fopen( shop.save, r ); // read dall inizio n = fseek(fp, 0, SEEK_END); if(!n) { /* errore */ exit(-1); printf( Dimensione file: %l bytes, ftell(fp)); /* ci riportiamo all inizio del file */ n = fseek(fp, 0, SEEK_SET); if(!n) { /* errore */ exit(-1);
36 File Passiamo all esempio SaveStruct.c con i concetti visti prima. Il file è diventato un po lungo e comincia ad essere difficile da maneggiare Impariamo ad usare un file.h per lavorare meglio
37 Header files Un file.h contiene solo: I prototipi delle funzioni Strutture dati derivate, alias, etc. Costanti Eventuali variabili globali Dovrà esistere il corrispettivo file.c che definisce i prototipi. Nel nostro file con il main includiamo il nostro file con: #include file.h
38 Esempio // main.c #include <stdio.h> #include "bridge.h" 2 // bridge.h int num(); 3 int main() { num(); 1 return 0; // file.c #include <stdio.h> /*static*/ int ggl = 0; int num(){ printf("ciao mondo"); ggl++; return 0;
39 Esempio #include <stdio.h> #include "my_math.h" int main(){ int a, b, c; fprintf(stdout, Tre numeri prego:"); fscanf(stdin, "%d %d %d", &a, &b, &c); printf( La media e %f\n", average(a,b,c)); return 0; /* my_math.h */ #define ZERO 0 float average(int,int,int); float sum(int, int); /* my_math.c */ #include "my_math.h float average(int x, int y, int z){ int somma; return (somma = sum(sum(x, y), z)) == ZERO? ZERO : (somma / 3); float sum(int x, int y){ return x + y;
40 Esercizio (ultimo ) Creare un programma Rubrica che mantenga le informazioni sui contatti (e.s.: nome, cognome). Ciascun contatto possiede un ID unico nella rubrica. Il programma deve offrire un menu interattivo per: Apertura da file di una rubrica Salvataggio su file della rubrica attualmente in memoria Stampa lista contatti in memoria Aggiunta di un nuovo contatto Cancellazione di un contatto dalla rubrica Ricerca contatto Analisi del contenuto di un file di una rubrica Duplicazione del file di una rubrica
41 The end Grazie per l attenzione
Gestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliGestione dei file. Linguaggio ANSI C Input/Output - 13
Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni
DettagliFondamenti di Informatica T. Linguaggio C: File
Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.
DettagliGestione dei File. dischi nastri cd
Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
DettagliFondamenti di Informatica. Tecniche di input/output per l'accesso ai file
Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza
DettagliIL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliStruttura dati FILE. Concetto di FILE
Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
Dettagli---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero
---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
DettagliSono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').
I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un
DettagliDOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII
Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/
DettagliStrutture dati e realizzazione in C. Componenti software:
Strutture dati e realizzazione in C Strutture dati: Termine usato per indicare tipi con elementi del dominio compositi, ad esempio: vettori e matrici; tavole; liste; insiemi; pile e code; alberi e grafi.
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliLe funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni
Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliStruttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura
Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
DettagliI/O Avanzato e File. Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario
Programmazione in C I/O Avanzato e File Definizione di file File di testo in C Input robusto Formattazione avanzata Esercizi proposti Sommario 2 Riferimenti al materiale Testi Kernighan & Ritchie: capitolo
DettagliLaboratorio di Elementi di Bioinformatica
Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2015/2016 I/O su file Docente del laboratorio: Raffaella Rizzi 1 Standard input e output gets: legge una
Dettagli2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.
Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere
DettagliGestione dinamica della memoria Stringhe File
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Gestione dinamica della memoria Stringhe File Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliSTRINGHE: ARRAY DI CARATTERI! a p e \0
STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più
DettagliMatlab: Gestione avanzata dei file
Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma
DettagliFile di testo e file binari Directory
File di testo e file binari Directory Dove salvare i file perché vengano ritrovati dal programma? CASO 1 Programma eseguito da ambiente di lavoro (MS Visual C++). La directory in cui viene creato/letto
DettagliFunzioni matlab per la gestione dei file. Informatica B Prof. Morzenti
Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla
DettagliPolitecnico di Torino
Politecnico di Torino INFORMATICA II Esame del 19 Luglio 2008 1. Realizzare un programma in linguaggio C per evidenziare le variazioni percentuali di un insieme di azioni quotate in borsa. In un file di
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliVideo Scrittura (MS Word) Lezione 1 Funzioni di base
Video Scrittura (MS Word) Lezione 1 Funzioni di base Cos e un programma di Video Scrittura Un programma di Video Scrittura serve per effettuare tutte quelle operazioni che consentono di creare, modificare,
Dettagli4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
DettagliCORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3. 1 strace : visualizzazione delle system call invocate da un processo
UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 strace : visualizzazione delle system call
DettagliEsercizio 1. Esercizio 1
Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene
DettagliGuida pratica alla creazione di pagine web
Guida pratica alla creazione di pagine web Dopo aver creato una pagina html, muoviamo i primi passi nell'uso del codice. Naturalmente non è necessario conoscere il codice a memoria per creare pagine internet,
DettagliFondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di
DettagliMAGAZZINO.CPP January 2, 2008 Page 1
MAGAZZINO.CPP January 2, 2008 Page 1 1 #include 2 #include 3 #include 4 // ==================================================================== 5 // Versione 1.1 1/1/2008
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliCORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3
UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica-Informatica-Telecomunicazioni a.a. 2001-2002 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 Trasferimento
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente
Dettagli3. Terza esercitazione autoguidata: progetto gestione voli
9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati
DettagliDove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.
I file in PHP Un file è un archivio elettronico contenente informazioni (dati) memorizzate su memoria di massa. Il file ha la caratteristica di consentire la lettura, la scrittura e la modifica dei dati
DettagliL INTERFACCIA GRAFICA DI EXCEL
Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella
DettagliFondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit4A.zip contenente i file necessari (progetto Visual Studio ed eventuali altri file di esempio). Avvertenze per la consegna:
DettagliLinguaggio C: introduzione
Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco
DettagliQuesta è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.
Il sistema CONFELMOD come tutti gli analoghi sistemi per la confezione d abbigliamento, svolge 3 funzioni distinte (anche dal punto di vista del tipo di programma) 1. la gestione di tutti i dati relativi
DettagliGestione risorse (Windows)
Gestione risorse (Windows) Organizzazione dei file Il sistema di memorizzazione è organizzato ad albero secondo una struttura gerarchica DISCO (drive) FILES CARTELLE (directory) FILES SOTTOCARTELLE FILES
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 5 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Processi in Unix Approfondimenti: http://gapil.gnulinux.it/download/
DettagliBOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)
Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliSeminario di C Appendici
Seminario di C Appendici Paride Dominici Indice Appendice A - Allocazione dinamica della memoria... 2 Appendice B - Progettazione lineare di un programma... 4 Appendice C - Utilizzo dei file in modalità
DettagliLaboratorio di Informatica L-A 1. ne: M se macchina, P se parte Nel caso di macchina seguono: L identificatore
Azienda meccanica Un azienda artigianale monta macchine per conto terzi ed acquista le parti costituenti da ditte esterne. Una macchina è caratterizzata da un valore intero che identifica la macchina e
DettagliAppunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliTUTORATO di LINGUAGGI I
TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO
DettagliNavigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a.
Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog (Seconda lezione) Unitre Pavia a.a. 2014-2015 27/01/2015 dott. 1 In informatica l'hypertext Markup Language (HTML)
DettagliIl comando provoca il salvataggio dello stato e la terminazione dell esecuzione.
Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e
DettagliIntroduzione a Visual Basic Lezione 2 Cicli e anomalie
a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto
DettagliESERCIZI SULLA PROGRAMMAZIONE DI SISTEMA GNU/LINUX
Autore: Classe: Luciano VIVIANI QUARTA INFORMATICA (4IB) Anno scolastico: 2004/2005 Scuola: Itis Euganeo ESERCIZI SULLA PROGRAMMAZIONE DI SISTEMA GNU/LINUX Questa dispensa non vuole essere un manuale di
DettagliAngelo Gallippi. Fondamenti di informatica
Angelo Gallippi Fondamenti di informatica Copyright MMIX ARACNE editrice S.r.l. www.aracneeditrice.it info@aracneeditrice.it via Raffaele Garofalo, 133 A/B 00173 Roma (06) 93781065 ISBN 978 88 548 2506
DettagliCome utilizzare i riferimenti assoluti e relativi in Microsoft Excel
Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel In un foglio elettronico, le celle sono identificate mediante delle coordinate; in genere, sono utilizzate le lettere per identificare
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliLettura e scrittura di file di dati input/output
Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo
DettagliISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++
ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è
DettagliINTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it
INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare
DettagliScrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file:
Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: usare lseek per spostarsi alla fine del file e poi scrivere: lseek(filedes, (off_t)0, SEEK_END); write(filedes, buf, BUFSIZE);
DettagliWINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni
WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
DettagliINTRODUZIONE ALLE BASI DATI RELAZIONALI
INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE
DettagliP a s q u a l e t t i V e r o n i c a
PHP: interagire con i file Pasqualetti Veronica Apertura file Quando si apre un file, bisogna specificare le seguenti informazioni: Se lo si vuole aprire in sola lettura, in sola scrittura, o in lettura
DettagliNote_Batch_Application 04/02/2011
Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti
DettagliCREARE UNA LIBRERIA IN C
CREARE UNA LIBRERIA IN C Prima di cominciare a vedere come fare una libreria, dobbiamo capire di cosa abbiamo bisogno... di un file.h che sarà l'header della libreria (ovvero il file che conterrà i prototipi
DettagliEsercizi. Codifica file di testo
Politecnico di Milano Esercizi Esercizi di riepilogo sul linguaggio C: file, puntatori, liste Codifica file di testo Utilizzando la codifica di Cesare, scrivere un programma in grado di criptare e decriptare
Dettagli1 Automi Cellulari (Rev. 2.0.3)
1 Automi Cellulari (Rev. 2.0.3) Gli automi cellulari sono una classe di modelli introdotti originariamente da von Neumann e Ulam nel 1948 come una semplice idealizzazione dell evoluzione delle cellule
DettagliManuale utente Soggetto Promotore Erogatore Politiche Attive
Manuale utente Soggetto Promotore Erogatore Politiche Attive Guida all utilizzo del Sistema Garanzia Giovani della Regione Molise Sistema Qualità Certificato UNI EN ISO 9001:2008 9151.ETT4 IT 35024 ETT
DettagliFondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione
DettagliTrattamento delle STRINGHE in C(++)
Trattamento delle STRINGHE in C(++) Le cose che qui vengono dette valgono sia per il linguaggio C che per il C++. Nel linguaggio C non esiste, a differenza di quel che avviene per altri linguaggi di programmazione
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliCARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe
CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:
DettagliCreare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.
Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il
DettagliInformatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A
Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A In una versione semplificata del gioco della Battaglia Navale il giocatore cerca di colpire le navi dell avversario (di cui non
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
DettagliProblem solving avanzato
Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
Dettagli18/05/2016 MANUALE UTENTE
18/05/2016 MANUALE UTENTE Indice dei contenuti 2 1. ACCESSO AL SISTEMA PAGOINRETE... 3 2. HOME PAGE... 4 3. RICHIEDI ASSISTENZA... 5 4. SERVIZI DI PAGAMENTO... 6 5. VISUALIZZA CONDIZIONI CONTRATTUALI PSP...
DettagliWINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO
Servizi per l e-government nell università Federico II WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO CONNESSIONE_TERMINAL_SERVER PAG. 1 DI 13 Indice 1. Premessa...3
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliManuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S7 704567 / 00 02 / 2011
Manuale del software Supplemento Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S7 704567 / 00 02 / 2011 Indice 1 Premessa 3 1.1 Simboli utilizzati 3 2 Generalità 3 3 Connessione
DettagliEsempio 1: stampa locale di file remoto
Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Dettagli