2000 Prentice Hall, Inc. All rights reserved. I file Apertura e chiusura I file ad accesso sequenziale I file ad accesso casuale Apre un file già esistente.

Slides:



Advertisements
Presentazioni simili
File Linguaggio C.
Advertisements

Puntatori Linguaggio C.
Corso di Fondamenti di Programmazione canale E-O
File system: system call e strutture dati a run-time.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Gestione dei file Ing. Simona Colucci.
Uso avanzato di C.
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
Selezione multipla e tipo di dato carattere
Sviluppo di programmi strutturati
PUNTATORI Introduzione
Operazioni di I/O da console e da file in C standard
Puntatori e Heap in C Prof.Ing.S.Cavalieri.
Anno accademico Input e Output in C. Anno accademico Sommario Input e outputInput e output I flussi di I/O I flussi di I/O Luso.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
INFORMATICA I file.
FILE DATI 16 lunedi 26 luglio giovedi ore 9 Come sappiamo, un file dati è un gruppo di informazioni tra loro correlate, memorizzate in un dispositivo di.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 15 Maggio 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 9 Maggio 2012.
JAVA C import java.util.*; #include <stdio.h>
1 Esercitazione sui segnali Problema: creare un programma analizzatore di file testuali che prenda come argomenti il nome di un file e una sequenza di.
Lettura e scrittura - Stream
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
INFORMATICA I file. © Piero Demichelis 2 File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Gestione File System e I/O in Windows 2000 Implementazione del File System FAT-12, FAT-16, FAT-32 NTFS API relative al File System Gestione dei dispositivi.
Esercizio: Copiare un file in un nuovo file mediante le funzioni read e write.
Programmazione distribuita in Java
Struct, enum, Puntatori e Array dinamici
Esercizi C sui tipi definiti dall’utente
Esercizi di riepilogo sul linguaggio C: file, puntatori, liste
1 Gestione dei File Corso di Informatica A Vito Perrone.
1 Funzioni e Procedure in C Corso di Informatica A Vito Perrone.
File di testo, file binari
Le liste dinamiche La ricorsione
FILE TESTO INPUT PROGRAMMA + DATI OUTPUT FILE DATI PROGRAMMA OUTPUT
I File.
Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java.
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persi-stenza dei dati) è necessario poterli archi-viare.
Piero Scotto - C141 C14 #14 Puntatori e file. Il problema dellordinamento. Debug.
OUTPUT FORMATTATO La funzione printf consente di effettuare la stampa a video formattata. Sintassi: printf ( stringa_formato, arg0, arg1, … ); La stringa.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 10 (Deitel) Strutture, unioni ed enumerazioni Sommario Introduzione Definire le strutture.
void binario(int n); …………………
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
Esercizi su File.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 11 (Deitel) Lelaborazione dei file Sommario Introduzione La gerarchia dei dati 11.3.
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
File binari Accesso a file con record di lunghezza costante Struct Persona { Int id; Char nome[50];// nome e cognome Double stipendio; }; Persona dipendente;
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
Fabio Scotti – Università degli Studi – Laboratorio di programmazione per la sicurezza 1 Lezione 13 e 14 GESTIONE DEI FILE A) Nozioni sulla gestione dei.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 13 e 14 -
CORSO DI PROGRAMMAZIONE II
Fondamenti di Informatica L- A #include “mylib.h” int leggi(int a[], int dim) { int i=0; while( scanf("%d", a+i) ) { i++; if( i>=dim ) break; } return.
Capitolo 14 Diapositiva 1 Linguaggio C – Guida alla programmazione 2/ed – A. Bellini, A. Guidi Copyright © The McGraw-Hill Companies srl Archiviare.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 6 Marzo 2016.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Introduzione al linguaggio C
Tutorato Elementi di Informatica 2013
I FILES AD ACCESSO SEQUENZIALE
APPUNTI SUL LINGUAGGIO C Memoria secondaria: File
Gestione di un banco di magliette
comprensione e modifica di codice
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Allocazione dinamica della memoria
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

2000 Prentice Hall, Inc. All rights reserved. I file Apertura e chiusura I file ad accesso sequenziale I file ad accesso casuale Apre un file già esistente in sola lettura. Se il file non esiste, lapertura fallisce Apre o crea un file in sola scrittura. Se esiste già, ne elimina il contenuto attuale e vi scrive dallinizio Crea un file in sola scrittura. Se il file esiste già, vi scrive in accodamento, ovvero dalla fine del file Apre un file in lettura e scrittura. Se il file non esiste, lapertura fallisce Crea un file in lettura e scrittura. Se il file esiste già, ne elimina il contenuto attuale e vi scrive dallinizio Apre o crea un file in lettura e scrittura. Se esiste già, vi scrive in accodamento, ovvero dalla fine del file DescrizioneModo r w a r+ w+ a+

2000 Prentice Hall, Inc. All rights reserved. I file: apertura e chiusura Apertura e chiusura di un file in lettura … FILE *filePtr; if (( filePtr = fopen(esempio.dat", r") ) == NULL) printf( Il file non può essere aperto.\n" ); else{ … //Istruzioni per la lettura da file fclose(filePtr); } … Apertura e chiusura di un file in scrittura … FILE *filePtr; if (( filePtr = fopen(esempio.dat", w") ) == NULL) printf( Il file non può essere aperto.\n" ); else{ … //Istruzioni per la scrittura su file fclose(filePtr); } …

2000 Prentice Hall, Inc. All rights reserved. I file: accesso sequenziale Leggere e stampare i record di un file sequenziale … fscanf(filePtr, "%d%s%f", &account, name, &balance ); while ( !feof(filePtr) ){ printf("%d%s%f\n", account, name, balance); fscanf(filePtr, "%d%s%f", &account, name, &balance ); } … Acquisire dati e scriverli come record di un file sequenziale … scanf( "%d%s%f", &account, name, &balance ); while ( !feof(stdin) ){ fprintf(filePtr, "%d %s %f\n ", account, name, balance ); scanf("%d%s%f", &account, name, &balance); } … NOTA: con i file sequenziali fa testo il numero di caratteri occupati dai dati dei campi (a dimensione variabile) dei record

2000 Prentice Hall, Inc. All rights reserved. I file: accesso casuale (1/2) Leggere e stampare i record di un file ad accesso casuale … struct accountData{ int accNum; char accOwner[15]; float accBalance; } … struct accountData temp = {0,, 0.0} … fread(&temp, sizeof(struct accountData), 1, filePtr); printf("%d%s%f\n", temp.accNum, temp.accOwner, temp.accBalance); while ( !feof(filePtr) ){ fread(&temp, sizeof(struct accountData), 1, filePtr); printf("%d%s%f\n", temp.accNum, temp.accOwner, temp.accBalance); } … NOTA: con i file ad accesso casuale il numero di caratteri occupati dai dati dei campi del record non conta; i campi hanno tutti dimensione fissa, conta il numero di byte dei tipi

2000 Prentice Hall, Inc. All rights reserved. I file: accesso casuale (2/2) Acquisire dati e scriverli su un file ad accesso casuale … struct accountData{ int accNum; char accOwner[15]; float accBalance; } … struct accountData temp = {0,, 0.0} … scanf( "%d%s%f", &temp.accNum, temp.accOwner, &temp.accBalance ); while ( !feof(stdin) ){ fwrite(&temp, sizeof(struct accountData), 1, filePtr); scanf( "%d%s%f", &temp.accNum, temp.accOwner, &temp.accBalance ); } … Aggiornare un record in una posizione specifica index … int index = 15; fseek(filePtr, (index - 1) * sizeof(struct accountData), SEEK_SET); fwrite(&temp, sizeof(struct accountData), 1, filePtr); …