Libreria degli header file del C ANSI

Documenti analoghi
Linguaggio C La libreria standard

Lezione 19 e Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe

Capitolo 5 -- Stevens

Librerie Stringhe. Librerie e stringhe. Lezione 9. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. 2015/2016

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Gestione dei file. Linguaggio ANSI C Input/Output - 13

I files in C. A cura del prof. Ghezzi

Indice. Prefazione... xxi. Capitolo 1 Introduzione al C Capitolo 2 Fondamenti di C... 11

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

Linguaggio C: i file

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Introduzione al C. Unità 8 Stringhe

Caratteri e stringhe

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

File binari e file di testo

Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011

Librerie C. Corso di Linguaggi e Traduttori 1 AA

Introduzione al C. Stream e disk file

Funzioni di libreria. KP pp , , , 589, DD pp , , ,

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

Scrittura formattata - printf

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013

I CARATTERI. Domanda: char c = 1 ; printf( c=%d\n, (int)c ); //cosa stampa?

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

STRINGHE: ARRAY DI CARATTERI! a p e \0

caratteri, immagini, suoni, ecc.

Gestione dei File. Indice. Il file system in C. Principali operazioni sui file (dalla Standard Library) Esempi. Corso di Informatica A.

Esercizi. I File ed il C

Gestione dei File in C

Esercizio 1: funzione con valore di ritorno di tipo puntatore

La gestione dei file in C

Sulla libreria standard, III. Manipolare file con stdio.h

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

I File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.

Il linguaggio C. Puntatori e dintorni

Stringhe e allocazione dinamica della memoria

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Input/Output di numeri

C: panoramica. Violetta Lonati

Gestione dei File C. Generalità

Variabili e Istruzioni

Informatica 19/09/2011 TURNO C Compito A. Teoria. Risultato: n1 ca2 : n2 ca2: overflow:

Il blocco che costituisce il corpo di una funzione/procedura può contenere dichiarazioni di variabili. Esempio:

L'Allocazione Dinamica della Memoria nel linguaggio C

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2014

Laboratorio di Algoritmi e Strutture Dati

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Uso avanzato dei puntatori Allocazione dinamica della memoria

Dispensa 13 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA. Laboratorio

Capitolo 11 Elaborazione di file

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Gestione dei File. dischi nastri cd

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi

SOMMARIO SU LETTURA E SCRITTURA (I/O) DEGLI STANDARD FILES

file fisico file logico

Il linguaggio C. Notate che...

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Lezione 8 Struct e qsort

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Linguaggio C Gestione File

Marta Capiluppi Dipartimento di Informatica Università di Verona

Primi passi col linguaggio C

Input/output in C e in C++

alsoftwork Manuale d' uso di X_Calc V.1.0 Calcolatrice scientifica Utilizzo di X_Calc Questo pulsante abilita/disabilita la calcolatrice scientifica.

Introduzione al C. Ancora puntatori, allocazione dinamica, e tipi derivati

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I File. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centarle.

Allocazione dinamica della memoria

MATLAB Elementi di grafica Costrutti di programmazione

Programmazione I Paolo Valente /2015. Lezione 18. Compendio C/C++

L Allocazione Dinamica della Memoria

Esercitazione 11. Liste semplici

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

I file. un file è una sorgente/destinazione di dati per diversi attori

GESTIONE DEI FILE IN C

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Concetti di Base sul Linguaggio C. Prof.Ing.S.Cavalieri

Preprocessore, linker e libreria standard

Stringhe. Concetti chiave

File e puntatori a file

TUTORATO di LINGUAGGI I

Gestione di stringhe. Le stringhe in C/C++

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Transcript:

Libreria degli header file del C ANSI Nome Descrizione <assert.h> Contiene la macro assert, utilizzata per indentificare errori logici ed altri tipi di bug nelle versioni di debug di un programma. <complex.h> Un gruppo di funzioni usate per manipolare numeri complessi. (Aggiunto con il C99) <ctype.h> Questo header file contiene funzioni usate per classificare i caratteri in base ai loro tipi o per convertirli da maiuscoli a minusco indipendentemente dal set di caratteri utilizzato (tipicamente ASCII, ma esistono anche implementezioni che usano l'ebcdic <errno.h> Per testare i codici di errore restituiti dalle funzioni di libreria. <fenv.h> Per controllare l'ambiente in virgola mobile. (Aggiunto con il C99) Contiene delle costanti definite che indicano le proprietà specifiche dell'implementazione della libreria in virgola mobile, <float.h> come ad esempio la minima differenza tra due numeri in virgola mobile (_EPSILON), il massimo numero di cifre significative (_DIG) e l'intervallo di numeri che possono essere rappresentati (_MIN, _MAX). <inttypes.h> Per effettuare conversioni precise tra i tipi interi. (Aggiunto con il C99) <iso646.h> Per programmare nel set di caratteri ISO 646. (Aggiunto con l'na1) <limits.h> Contiene delle costanti definite che indicano le proprietà specifiche dell'implementazione dei tipi interi, come l'intervallo dei numeri rappresentabili (_MIN, _MAX). <locale.h> Per setlocale() e le costanti relative. Utilizzato per scegliere il codice locale adatto. <math.h> Per le funzioni matematiche comuni. <setjmp.h> Dichiara setjmp/longjmp, utilizzate per salti non locali. <signal.h> Per controllare varie condizioni d'eccezione. <stdarg.h> Utilizzato da funzioni che accettano un numero variabile di parametri. <stdbool.h> Per un tipo di dato booleano. (Aggiunto con il C99) <stdint.h> Per definire vari tipi interi. (Aggiunto con il C99) <stddef.h> Per definire vari tipi e macro utili. <stdio.h> Fornisce le funzionalità basilari di input/output del C. Questo file include il prototipo delle venerabili funzioni printf e scanf.

<stdlib.h> Per eseguire un gran numero di operazioni, tra cui conversioni, generazione di numeri pseudo-casuali, allocazione di memoria controllo del processo, variabili d'ambiente, segnali, ricerca ed ordinamento. <string.h> Per manipolare le stringhe. <tgmath.h> Per funzioni matematiche di tipo generico. (Aggiunto con il C99) <time.h> Per convertire tra vari formati di data e ora. <wchar.h> Per manipolare stream o stringhe contenenti caratteri estesi - fondamentale per supportare una lunga serie di lingue con caratteri non occidentali. (Aggiunto con l'na1) <wctype.h> Per la classificazione dei caratteri estesi. (Aggiunto con l'na1) \ \

Funzioni libreria stdio.h Le funzioni dichiarate in stdio.h possono generalmente essere divise in due categorie: le funzioni per la manipolazione di file e quelle per la manipolazione dell'input/output. Nome Descrizione fclose fopen, freopen, fdopen remove rename rewind tmpfile clearerr feof ferror fflush fgetpos Chiude il file associato al valore FILE * passatole. Apre un file in lettura o scrittura. Rimuove un file. Rinomina un file. Agisce come se fosse stata chiamata la funzione fseek(stream, 0L, SEEK_SET) sullo stream passatole; in aggiunta, cancella il suo indicatore d'errore. Crea ed apre un file temporaneo, che viene poi cancellato e chiuso con fclose(). Cancella l'indicatore di fine file e quello d'errore per un dato stream. Controlla se l'indicatore di fine file è stato settato per un dato stream. Controlla se l'indicatore d'errore è stato settato per un dato stream. Forza lo svuotamento del buffer output per un dato stream, provocando l'immediata scrittura su file. Salva la posizione corrente associata allo stream passato come primo argomento (un FILE *) nel secondo argomento passatole (un fpos_t *).

fgetc fgets fputc fputs ftell fseek fsetpos fread fwrite getc ungetc getchar gets printf, fprintf, sprintf, snprintf vprintf perror int scanf(const Restituisce un carattere da un file. Restituisce una stringa presa da un file, terminata da un carattere di nuova riga ('\n') o dal carattere nullo ('\0'). Scrive un carattere su un file. Scrive una stringa su un file. Restituisce un indicatore di posizione sul file che può essere passato alla funzione fseek(). Si sposta attraverso un file. Imposta l'indicatore di posizionamento del file di uno stream associato al primo argomento (un FILE *) come memorizzato nel suo secondo argomento (un fpos_t *). Legge da file dei dati di diverse dimensioni. Scrive su file dei dati di diverse dimensioni. Legge e restituisce un carattere dallo stream passatole ed incrementa l'indicatore di posizionamento nel file; è possibile che venga implementato come macro con gli stessi effetti di fgetc(), tranne che potrebbe agire sullo stream più di una volta. Restituisce allo stream almeno un carattere. Alla successiva chiamata di getc verrà passato il carattere restituito da ungetc Ha gli stessi effetti di getc(stdin). Legge caratteri da stdin finché non incontra un carattere di nuova riga (newline) o un EOF e salva il risultato nell'argomento passatole (char *). Utilizzato per stampare vari tipi di dato su stdout. Anch'essa utilizzata per stampare su stdout. Scrive un messaggio di errore su stderr. un carattere in uno stream di input. La funzione scanf legge dei caratteri dal canale standard di input (stdin),

char *format,...) int fscanf(file *stream, const char *format,...); puts li converte secondo le specifiche di formattazione fornite dall'argomento format e memorizza i valori ottenuti negli argomenti seguenti. La stringa di formattazione deve essere costituita da un carattere '%' seguito da uno degli specificatori el c Carattere d Numero decimale f Numero reale s Stringa (array di caratteri) p Indirizzo di memoria La funzione fscanf() ha lo stesso comportamento della funzione scanf(), ma l'input avviene da stream. Scrive una stringa su stdout. Funzioni libreria stdlib.h Le funzioni di stdlib.h possono essere classificate nelle seguenti categorie: conversione tra tipi, gestione della memoria, controllo dei processi, ricerca ed ordinamento, matematica semplice. Nome Descrizione Conversione tra tipi atof Converte una stringa in un numero in virgola mobile. Equivalente a strtod(s, (char**)null). atoi Converte una stringa in un numero intero. Equivalente a (int)strtol(s, (char**)null, 10). atol Converte una stringa in un numero intero lungo (long int). Equivalente a strtol(s, (char**)null, 10).

strtod strtol strtou l rand srand calloc, malloc, reallo c free abort atexit exit Converte una stringa in un double (numero a virgola mobile), effettuando dei controlli sull'overflow e restituendo anche l'eventuale parte non convertita della stringa. Converte una stringa, che rappresenta un numero in una base arbitraria compresa tra 2 e 36, in un double (numero a virgola mobile), effettuando dei controlli sull'overflow e restituendo anche l'eventuale parte non convertita della stringa. Equivalente a strtol() tranne per il tipo del risultato, che è unsigned long. Generazione di numeri pseudocasuali Restituisce un numero intero pseudocasuale compreso tra 0 e RAND_MAX. Inizializza il seme per la sequenza di numeri pseudocasuali della funzione rand(). Allocazione e deallocazione di memoria Funzioni che si occupano dell'allocazione dinamica della memoria. Libera la memoria allocata dinamicamente dalla famiglia di funzioni malloc(). Controllo dei processi Causa la terminazione immediata ed anormale del programma, come se fosse stato invocato raise(sigabrt). Registra una funzione, della quale le viene passato il puntatore, affinché venga eseguita appena prima della normale terminazione del programma. Causa la normale terminazione del programma. Tutte le funzioni registrate con atexit() vengono eseguite con ordine inverso rispetto alla loro registrazione, gli stream associati al programma vengono liberati, i file vengono scritti su disco (vedere flush()) ed il controllo viene restituito all'ambiente chiamante, assieme ad un valore numerico,

getenv system bsearc h qsort abs, labs div, ldiv che generalmente indica lo stato del programma o la causa della sua terminazione, che deve essere fornito alla funzione stessa. Restituisce la stringa che nell'ambiente di lavoro del programma è associata al nome fornito, oppure NULL se non esiste alcuna stringa. I dettagli della funzione sono strettamente dipendenti dal sistema operativo. Vedere anche variabile d'ambiente. Passa la stringa fornitale all'ambiente di lavoro per l'esecuzione e restituisce il codice d'uscita del comando invocato. Se si fornisce NULL, informa sulla eventuale presenza nel sistema di un processore di comandi. Ricerca ed ordinamento Implementa in maniera generica l'algoritmo di ricerca dicotomica. Implementa in maniera generica l'algoritmo di ordinamento quicksort. Matematica semplice - presenti anche in math.h Calcola il valore assoluto dell'argomento. Calcola il quoziente ed il resto della divisione intera tra il dividendo ed il divisore forniti. Funzioni string.h Nome void *memcpy(void *dest, const void *src, size_t n); void *memmove(void *dest, const void *src, size_t n); Descrizione Copia n bytes tra due aree di memoria che non devono sovrapporsi. Copia n bytes tra due aree di memoria; a differenza di memcpy le aree di memoria possono sovrapporsi.

void *memchr(const void *s, int c, size_t n); Ritorna un puntatore alla prima occorrenza di c in s, o NULL se c non compare tra i primi n caratteri di s. int memcmp(const void *s1, const void *s2, size_t n); Confronta i primi n caratteri di s1 con s2. void *memset(void *s, int c, size_t n); Colloca c nei primi n caratteri di s. char *strcat(char *dest, const char *src); Concatena src alla stringa dest. char *strncat(char *dest, const char *src, size_t n); Concatena al massimo n caratteri src alla stringa dest. char *strchr(const char *s, int c); Restituisce un puntatore alla prima occorrenza di c in s. char *strrchr(const char *s, int c); Restituisce un puntatore all'ultima occorrenza di c in s. int strcmp(const char *s1, const char *s2); Confronta la stringa s1 con s2. int strncmp(const char *, const char *, size_t); Confronta al massimo n caratteri della stringa s1 con s2. int strcoll(const char *, const char *); Confronta due stringhe utilizzando l'ordine lessicografico stabilito dalla localizzazione utilizzata char *strcpy(char *s1, const char *s2); Copia la stringa s2 nella stringa s1, incluso il carattere di terminazione \0. char *strncpy(char *s1, const char *s2, size_t n); Copia al massimo n caratteri della stringa s2 in s1. char *strerror(int n); Restituisce un puntatore alla stringa che corrisponde all'errore n. size_t strlen(const char *s); Restituisce la lunghezza della stringa s. size_t strspn(const char *s, const char *accept); Restituisce la lunghezza della prima istanza della stringa s di lunghezza massima composta esattamente dai caratteri definiti della

size_t strcspn(const char *s, const char *reject); char *strpbrk(const char *s, const char *accept); char *strstr(const char *haystack, const char *needle); char *strtok(char *s, const char *delimiters); size_t strxfrm(char *dest, const char *src, size_t n); stringa accept Restituisce la lunghezza della porzione iniziale della stringa s di lunghezza massima composta esattamente da caratteri diversi da quelli della stringa reject Restituisce la prima occorrenza di un carattere presente nella stringa s che sia uguale ad un qualsiasi carattere presente nella stringa accept Trova la prima occorrenza della stringa needle all'interno della stringa haystack Spezza la stringa s in una serie di stringhe chiamate [token] in corrispondenza dei carattere delimitatore delimiters Trasforma la stringa puntata da src secondo la localizzazione in uso e e copia i primi n caratteri di src nella stringa dest Funzioni math.h Membro acos asin atan atan2 ceil Descrizione arcocoseno arcoseno arcotangente arcotangente di due parametri l'intero minore non minore del parametro

cos coseno cosh coseno iperbolico exp(double x) funzione esponenziale, calcola e x fabs valore assoluto floor l'intero maggiore non maggiore del parametro fmod resto del numero in virgola mobile frexp frazione e potenza di due. ldexp operazione in virgola mobile log logaritmo naturale log10 logaritmo in base 10 pow(x,y) eleva un valore dato ad esponente, x y sin seno sinh seno iperbolico sqrt radice quadrata tan tangente tanh tangente iperbolica