A. Veneziani - I file di testo in C++
|
|
- Geraldina Testa
- 5 anni fa
- Visualizzazioni
Transcript
1 A. Veneziani - I file di testo in C++ I file di testo Si considera file di testo tutto ciò che è codificato in un formato testuale, ossia un file nel quale i byte in esso contenuti rappresentano con la loro codifica caratteri di un testo avente un suo significato. Questo testo può essere vero e proprio testo nel senso comune del termine, una serie di righe descriventi un discorso, un racconto, una poesia, ecc., o alternativamente dati comunque in forma testuale avente altro scopo, quali un ripilogo contabile, la descrizione di un calcolo matematico, il listato di un programma. A questo proposito è opportuno sottolineare che quasi tutti i linguaggi hanno i loro listati codificati in puro testo, ed esso è contenuto in un file di testo. I sorgenti di vari linguaggi sono quindi contenuti in file di testo, e tali sono quindi non solo file con estensione tipica.txt, ma anche file con estensione.bas (Basic),.pas (Pascal),.asm (Assembler),.c (C),.cpp (C++),.cs (C#) ed altri. I file di testo non hanno una unica codifica possibile, anche se spesso viene utilizzata la codifica ASCII. Nel caso sia necessario codificare testi con un numero più grande di simboli si ricorre a codifica diversa dalla classica ASCII. I file di testo sono anche molto frequentemente utilizzati in file che descrivono la configurazione di un software (si pensi ai file.ini). Sono file di testo i cosidetti file di log per la registrazione dell attività di software server. Anche le comuni pagine Web contengono il linguaggio HTML ed altri linguaggi tutti espressi come file di testo. I file di testo sono visibili e modificabili (o editabili) con appositi software detti editor di testo. Tra questi piuttosto noti sono: Blocco note (Notepad), Editplus, Notepad++, TextPad, e molti altri. Editor di testo integrati e specializzati si trovano anche negli ambienti di sviluppo (IDE), come Visual C++, C++ Builder ed altri. File che non sono assimilabili a file di testo sono quelli che aperti in un editor di testo producono del testo del tutto incomprensibile e senza senso, non ricollegabili a nessuna lingua o argomento, ossia non producono testo, ma la loro codifica quindi rappresenta altro. Tali file sono detti di solito per differenziarli da quelli di testo, file binari, e tipicamente possono contenere immagini, musiche, programmi eseguibili, ed altro. L elaborazione dei file di testo in C++ Praticamente tutti i linguaggi di programmazione hanno capacità di elaborare file, e specificamente di operare su file di testo. I file sono infatti l unico modo per un programma di memorizzare dati che non siano volatili, ossia non risiedano in memoria centrale, e vengano quindi persi alla chiusura del programma in esecuzione. C++ non fà eccezione a questa regola e permette di effettuare l elaborazione di file di testo e binari. Per iniziare ad operare su qualunque file, la prima operazione da svolgere è la sua creazione o altrimenti la sua apertura (se il file esiste già). I compilatori C++ supportano solitamente anche la sintassi C e quindi potremmo utilizzare tale sintassi (non ad oggetti) per trattare ed operare sui file. Essendo C++ un linguaggio ad oggetti esso utilizza una sintassi e dei concetti sintattici piuttosto diversi da quelli del C. Per operare su file in C++ è necessario creare degli oggetti. Una classe di oggetti che permette di operare su files è la fstream (abbreviazione di file stream). Per utilizzare oggetti di tipo fstream dobbiamo includere una libreria detta anch essa fstream, quindi un programma operante su files in testa avrà la dicitura: #include <fstream> Un oggetto fstream si dichiara come una qualunque variabile di altro tipo, ossia con il comando: Pagina 1
2 a questo punto l oggetto è già pronto per essere utilizzato e ad esso vanno applicati opportuni comandi (detti metodi) di vario tipo. Apertura di un file L apertura di un file in C++ viene effettuata con una sintassi del tipo:... fs.open(<path e nome del file>,<modalità di apertura>); successivamente è possibile eseguire a seconda della modalità di apertura effettuata letture o scritture, o entrambe le operazioni sul file. Il metodo open si aspetta come primo parametro una stringa e come secondo parametro delle costanti che indicano la modalità di apertura, che può essere di diverso tipo 1 : ios::in ios::out ios::trunc ios::app Modalità in lettura Modalità in scrittura e creazione con troncamento Modalità di creazione con troncamento Modalità di creazione con aggiunta in coda In pratica la modalità: ios::out permette di scrivere sul file e azzera il suo contenuto al momento dell apertura, oltre a prevedere la creazione del file. Per aggiungere in coda basta specificare la modalità: ios::app tale modalità crea anche il file se non ci fosse La modalità ios::in prevede solo la lettura, ma ovviamente senza nessuna creazione. La combinazione delle due modalità sopra dette: ios::in ios::out permette di operare in scrittura e lettura su un file esistente, però senza effettuare la creazione. Si noti che la combinazione in delle varie modalità avviene tramite un operatore detto or bit a bit, che effettua l operazione di or sui singoli bit dei valori delle costanti. Se si dovesse prevedere lettura, scrittura e creazione (con troncamento), allora si dovrebbe usare la combinazione di modalità: ios::in ios::out ios::trunc La modalità: ios::in ios::app permette la lettura e la scrittura in coda con eventuale creazione del file. Se il file è nella stessa directory del file eseguibile, esso potrà essere indicato soltanto con il semplice nome, se invece esso dovesse riseidere in una directory con posizione diversa, sarà necessario specificare un opportuno path relativo o assoluto; ad esempio: fs.open(".\\dir1\\dir2\\prova.txt",ios::in ios::out ios::trunc); 1 Modalità verificate su Visual C Pagina 2
3 in questo caso il file viene creato o si effettuano operazioni su di esso tenendo conto che è posizionato in una directory sottostante dir2 contenuta in un altra directory dir1. Si noti il necessario raddoppio del carattere di backslash, e l eventuale uso dell indicatore di directory corrente (.). Lettura e scrittura nel file tramite stream Dopo aver definito le relative modalità di apertura nella open( ), sarà possibile scrivere in un file di testo facendo ricorso al normale operatore di stream. In questo modo si potranno scrivere nel file, numeri stringhe, numeri con la virgola, valori booleani, ecc. Ad esempio il codice: int i;... for (i = 0; i < 30; i++) fs << i << " "; permette di scrivere una serie di numeri interi nel file Tali numeri essendo opportunamente spaziati potranno essere riletti, un valore alla volta, tramite l operatore opposto, ossia con lo stream di lettura (>>), dal file verso una variabile del tipo opportuno: while (! fs.eof()) fs >> i; cout << i << endl; Nel caso di stringhe, la scrittura della stringa avverrà in modo complessivo, ossia per l intera stringa considerata, ma bisognerà tener presente che la lettura avverrà per singole parole, in quanto gli spazi fra esse valgono come separatore di dato. I dati strutturati non possono essere scritti o letti direttamente in un file di testo, in modo analogo a quanto avveniva con la lettura e scrittura su console (utilizzando cin e cout). Lettura di linee di testo da console; un promemoria Lo scorso anno abbiamo visto con quali istruzioni leggere intere righe di testo in input da console. Non sempre infatti la normale lettura effettuata con gli stream è consona ai problemi che si devono affrontare. Come si ricorderà tale lettura infatti considera il/i carattere/i di spazio come separatore fra dati (nel caso del testo le singole parole). In tal caso verranno lette solo le parole stesse, in modo separato e filtrati tutti gli spazi, considerati, con questa logica, separatori di dato. Questa regola vale sia per le variabili string, sia per i vettori di char. Talora invece si vuole leggere ed analizzare l intera riga di un testo, senza considerarla in modo spezzato. Ciò comporta, come vedemmo, un altro tipo di lettura dei dati, che utilizza altre istruzioni. Per le variabili string, ciò sarà possibile con l istruzione: getline(cin, st); ove st è una variabile string. C è da ricordare che questa istruzione può dare luogo a qualche complicazione nel caso vi siano già state altre letture via stream ( operatore >>) precedenti. Infatti la lettura con stream lascia nel buffer dati i caratteri di a capo che vengono riletti dopo dalla getline( ). In questo caso la getline, carica immediatamente l a capo leggendo a seconda dei casi: a) una stringa nulla. b) Il resto dei dati (spazi compresi) non ancora letti con le istruzioni di lettura ( >> ) precedenti Pagina 3
4 Per evitare questa problematica, occorre eliminare i dati residui e gli a capo dal buffer di lettura e questo viene reso possibile anteponendo alla istruzione getline, l istruzione: cin.ignore(80, \n ); che indica di estrarre (ed ignorare) fino ad un massimo di 80 caratteri / fino al newline eliminando quindi di fatto i dati residui (compreso il newline ( \n ) e quindi i relativi problemi di lettura. Nel caso di necessità di leggere una intera linea di testo dallo standard input in un vettore di char (ovviamente di adegate dimensioni), deve essere usata la funzione gets( ). In essa viene indicato come parametro il puntatore al vettore di char che deve recepire i dati in input dalla console: gets(vc); ove vc è un vettore di char sufficiente ampio. Il vettore viene riempito con tutti i dati sulla linea di input, i caratteri di a capo non sono inseriti in esso, ed ovviamente esso, alla fine dei dati utili viene messo un ASCII 0, terminatore di stringa nei vettori di char. La stessa problematica che abbiamo considerato per le stringhe e avviene anche nella lettura di vettori di char, ossia la lettura potrebbe essere saltata se precedentemente ci fossero lettura operanti con stream ( >> ). La soluzione al problema è analoga a quella prospettata sopra con l utilizzo del metodo ignore( ). Lettura di linee di testo con string e vettori di char Come si è detto nel paragrafo precedente la lettura di dati dal file tramite stream avviene interpretando lo spazio come separatore tra un dato e l altro. In questo modo nel caso di un normale testo andremmo a leggere solo le singole parole, cosa peraltro talvolta utile per alcuni scopi e problematiche. In molti altri casi comunque si desidera che il testo venga letto esso stesso effettivamente e nel suo complesso come dato, ossia in modo invariato, e questo di solito avviene con una lettura riga per riga. Possibili contenitori di dati quali singole parole e frasi o linee di testo, sono tipicamente i vettori di char e le variabili string. Vediamo quali sono le funzioni e metodi per leggere tali dati da un file di testo, ricordando anche le analogie con la lettura da console. Poniamoci innanzitutto il problema di leggere da un file costituito da un testo tradizionale (una poesia, una relazione o qualcosa di simile), il suo testo riga per riga. Se la variabile che raccoglie tale dato è un vettore di char si dovrà considerare il metodo getline, esso avrà la forma: fs.getline(vc, 200); ove vc è il vettore di caratteri e 200 è il numero massimo di caratteri da leggere. Nel caso la linea fosse più lunga di 200 caratteri semplicemente verrebbero prima letti 200 caratteri e successivamente utilizzati e poi in seguito il resto della riga. La getline ferma quindi la sua lettura quando incontri un a capo (in un file di testo in Windows tipicamente la coppia di codici ASCII 13 + ASCII 10) oppure quando si sia raggiunto il numero massimo di caratteri (solitamente settato ad un valore coincidente con la dimensione del vettore che li deve contenere). Un altro possibile contenitore di righe di testo sono le variabili string (stringa). Nel loro caso per leggere una intera linea di testo dal file si deve utilizzare una istruzione del tutto simile a quella utilizzata per la lettura da console, ossia: getline(fs, st); ove st è una string e fs è un oggetto fstream sul quale si sia effettuato con successo una operazione di apertura (metodo open). Si noti che la sintassi cambia solo nel fatto che al posto del cin c è ora l oggetto Pagina 4
5 fstream, che indica ed è associato al file aperto. Ovviamente l apertura di più file porta ad operare con più oggetti fstream e quindi si deve indicare come parametro quello opportuno. L effetto è quello della lettura di una intera linea di testo dal file, semprechè essa termini con un newline (carattere \n ). Lettura per singoli caratteri Sia a livello di console di input che sui file di testo è possibile effettuare una lettura per singoli caratteri. In questo caso il contenitore in cui andrà a finire il dato sarà una singola variabile char, qui chiamata ch. La lettura sulla console avverrà in questo caso con: ch = cin.get(); e la lettera letta verrà posta in ch. Tale lettura avviene solo dopo aver scritto la lettera e confermato con Invio. La lettura di una intera linea di testo in questa modalità è comunque possibile, programmando un ciclo che termini quando incontri un carattere di newline ( \n ) effettuando una lettura carattere per carattere: while (ch!= '\n') ch = cin.get(); cout << ch; La metodica per leggere per singoli caratteri da file di testo è del tutto analoga, utilizzando la sintassi: ch = fs.get(); ossia ponendo il nuovo oggetto fstream associato ad un file al posto dell oggetto standard input (cin). Anche in questo caso tutti i dati del file sono già disponibili per la lettura. Il file viene scandito in questa modalità di lettura carattere per carattere. Un file di testo potrebbe quindi essere letto nel suo complesso, carattere per carattere, a capo compresi, con le istruzioni: fs.open("testo.txt",ios::in); while (! fs.eof()) ch = fs.get(); if (! fs.eof()) cout << ch; fs.close(); in questo caso semplicemente ristampando il contenuto sullo schermo. Pagina 5
A. Veneziani Files di record
A. Veneziani Files di record Caratteristiche dei file di record I file di record si differenziano rispetto a quelli di testo per avere i dati memorizzati in un formato predefinito ben preciso suddiviso
DettagliGestione dei file di dati
Gestione dei file di dati 1. Le classi di input/output Il linguaggio C++ non dispone di proprie istruzioni per la gestione dell interazione con l utente. Si appoggia infatti su appositi comandi scritti
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliA. Veneziani - Le variabili puntatore
A. Veneziani - Le variabili puntatore I puntatori Una variabile puntatore è atta a contenere un indirizzo di memoria. Questo, quindi, è il tipo di dato contenuto in una variabile puntatore. A seconda dell
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)
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
DettagliI CARATTERI E LE STRINGHE
I CARATTERI E LE STRINGHE IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard
DettagliInformatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione
Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono
DettagliHo raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero
Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliConcetto di stream. c i a o \0. c i a o \0. c i a o \0
Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard
DettagliFondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++
Fondamenti di Informatica 2008 corso prof. A. Picariello Operazioni sui FILE in C++ Librerie di I/O per la gestione dei FILE Il C++ consente di utilizzare le librerie standard di I/O del C mette anche
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
DettagliStandard Input e Standard Output
Istruzioni di I/O Standard Input e Standard Output Il C++ utilizza i concetti di standard input e standard output rispettivamente come astrazione di un canale per l ingresso e per l uscita dei dati In
DettagliINFORMATICA File di testo in C Roberta Gerboni
2018 - Roberta Gerboni File di testo in C++ Il linguaggio C++ mette a disposizione le seguenti classi per operare sui file (è necessario includere nel programma l header ), consentendo tipo di
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliGestione dei files in linguaggio C. Fondamenti
Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes
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
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliElementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
DettagliText files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro
Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione
DettagliBurocrazia: Primi passi con il linguaggio C. Diversi tipi di linguaggio. Un solo linguaggio
Burocrazia: Università degli Studi di Ferrara Laurea triennale in Matematica Corso di Programmazione Primi passi con il linguaggio C Filippo Mantovani 1 Ottobre 009 Per ora nessun cambio di orario e/o
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliCODIFICA DEL TESTO 0???????
CODIFICA DEL TESTO Simboli da rappresentare: lettere a,b,c,.z,a,b,c,.z cifre 0,1,2,3, 9 simboli di punteggiatura ;:,. Rappresentati mediante sequenze di bit Una codifica dei simboli è perciò (almeno) una
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliDefinizione di file. Directory e file File binari e file di testo
I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk
DettagliIntroduzione alla programmazione. Alice Pavarani
Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello
DettagliGli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
DettagliPrimo programma in C
Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliDetail ELETTRONICA INDUSTRIALE
Terminale Slave LCD1A manuale di riferimento aggiornamento: 05-06-03 Detail ELETTRONICA INDUSTRIALE LCD1A - manuale di riferimento Giugno 2003 Tutti i diritti sono riservati. E' vietata la riproduzione
DettagliStruttura di un. Struttura dei programmi C
Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive
DettagliPREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii
Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...
DettagliLe stringhe in C++ Utilizzo della classe string in un programma C++ Alessandro Bugatti 31 ottobre 2007
Le stringhe in C++ Alessandro Bugatti 31 ottobre 2007 Tutto dovrebbe essere fatto nel modo più semplice possibile, ma non più semplicemente di così. Albert Einstein Le stringhe nel linguaggio C vengono
DettagliI files in C. A cura del prof. Ghezzi
I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files
DettagliGestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico
Gestione dei file Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Gli stream Si dice stream qualsiasi sorgente di dati in ingresso e qualsiasi
DettagliInput/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari
Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
Dettagliingresso/uscita da file
ingresso/uscita da file fino ad ora: il programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti al volo dall utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliFile e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
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
Dettagli4. Accesso diretto per gli archivi con record a lunghezza costante
4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione
DettagliLa gestione di file in C++
Prof.ssa Sara Michelangeli La gestione di file in C++ I file sono strutture dati che consentono di conservare permanentemente, su memoria di massa, i nostri dati. Imparare ad usare i file è quindi INDISPENSABILE
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
DettagliCaratteri e stringhe
Caratteri e stringhe Dati testuali Tipi di dato testuali Caratteri Stringhe 5 Dati testuali Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche
DettagliGestione dei File. Credits Prof. Campi
Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè
DettagliIniziare a programmare in C++
Iniziare a programmare in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliLEZIONE 1 LE BASI DEL LINGUAGGIO C
LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliCorso sul linguaggio C
Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione
DettagliOctave. Luca Abeni. Informatica Luca Abeni 1 / 21
Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
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
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using
DettagliINPUT E OUTPUT DI VALORI NUMERICI
INPUT E OUTPUT DI VALORI NUMERICI FUNZIONI DI I/O PER NUMERI Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione (header file) denominato contiene la
DettagliTipi di dato e istruzioni elementari in C++
Tipi di dato e istruzioni elementari in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli
DettagliFunzionalità. Il preprocessore C. Inclusione di file. Inclusione di file
Il preprocessore C Ver. 2.4 Funzionalità Modifica il codice C prima che venga eseguita la traduzione vera a propria Le direttive al preprocessore riguardano: inclusione di file (#include) definizione di
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
Dettagliliceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA
INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
Dettagli1 PANORAMICA SUL LINGUAGGIO C
1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato
DettagliInformatica Generale --- Scritto del XX Settembre 2002
Informatica Generale --- Scritto del XX Settembre 2002 Nome: Cognome: Testo e Risposte Esercizio 1 (punti 2 in prima approssimazione) Consideriamo numeri naturali rappresentati in base 10 e in base 12
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliOperazioni di lettura/scrittura
Funzioni di I/O Operazioni di lettura/scrittura C++ fornisce numerose funzioni per leggere da uno stream di input (come cin) o scrivere su uno stream di output. Lettura: >>, getline, get, ignore etc. Scrittura:
DettagliImplementazione di DFA in C
Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,
DettagliI/O da tastiera + Alessandra Giordani Lunedì 2 maggio
I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliLezione XXII.I La gestione dei file Fondamenti
Programmazione e Laboratorio di Programmazione Lezione XXII.I La gestione dei file Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di
DettagliA. Veneziani - Array e files di testo in PHP
A. Veneziani - Array e files di testo in PHP Elementi sugli array Gli array in PHP hanno specifiche peculiarità: Non devono essere preallocati Non esiste una dimensione limite predefinita (ossia il numero
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione I Tatiana Zolo zolo@cs.unipr.it 1 L ORGANIZZAZIONE DEL COMPUTER Unità di input: sezione ricevente. dispositivi di input altre unità per l elaborazione. ORGANIZZAZIONE
DettagliIntroduzione. Programma didattico
Introduzione Il corso contenuto in questa parte riguarda i concetti elementari della programmazione, al livello minimo di astrazione possibile, utilizzando il linguaggio C per la messa in pratica degli
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi
DettagliProgrammazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliFILE DI TESTO e SOTTOPROGRAMMI
FILE DI TESTO e SOTTOPROGRAMMI Prof. Enrico Terrone A. S: 2008/09 I file di testo in C++ I file di testo sono una forma di input/output alternativa alla tastiera e al monitor (con il vantaggio della persistenza).
DettagliCorso di Informatica
Corso di Informatica Modulo T3 A1 - Struttura File 1 Prerequisiti Tecnica della programmazione elementare Sottoprogrammi Tipo di dato Concetti elementari sulle memorie di massa 2 1 Introduzione Nei casi
DettagliNozioni fondamentali su Algoritmi e programmazione
Nozioni fondamentali su Algoritmi e programmazione VARIABILE: La variabile è un contenitore di dati. Questo contenitore può includere dati ti tipo numerico o testuale principalmente. Essa è dotata di un
DettagliA. Veneziani - Alcune considerazioni su elaborazione con stringhe in C#
A. Veneziani - Alcune considerazioni su elaborazione con stringhe in C# Importanza delle stringhe Nella elaborazione con il calcolatore due sono le grandi famiglie di tipi di dato: i numerici e gli alfanumerici.
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliPASCAL. 05/04/2012 Pascal 1
PASCAL 05/04/2012 Pascal 1 Per iniziare Compariranno vari menu, ma quelli principali sono tre File in cui troviamo: New per creare un nuovo documento di lavoro, Load per aprire lavori già salvati, Save
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliStringhe in C. Alessandra Giordani Lunedì 23 aprile 2012
Stringhe in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 23 aprile 2012 http://disi.unitn.it/~agiordani/ Stringhe Sono particolari array: Ogni elemento del vettore è di tipo char La stringa è terminata
DettagliModulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Informatica Linguaggi di Programmazione Anno Accademico 2011/2012 Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un
DettagliLinguaggio C: i file
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali o binarie Noi ci occuperemo di file contenenti informazioni testuali In fondo ad un file sequenziale
Dettagli