C/Appendice/Librerie standard/stdio.h: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
→‎fseek(): +un po' di nuove funzioni
→‎rewind(): +ancora funzioni
Riga 313:
| descparametro1=puntatore allo stream
| descrizione=Reimposta la posizione del puntatore di lettura/scrittura del file ''stream'' all'inizio del file. Gli indicatori di errore e di fine file sono reimpostati a zero.
}}
 
===setbuf()===
{{ Funzione C
| nome=setbuf
| valoreritorno=void
| descritorno=
| tipoparametro1=[[#FILE|FILE]]*
| nomeparametro1=stream
| descparametro1=puntatore allo stream
| tipoparametro2=char*
| nomeparametro2=buf
| descparametro2=array da usare come buffer (almeno di dimensione [[#BUFSIZ|BUFSIZ]]), oppure [[#NULL|NULL]]
| descrizione=Imposta il buffer per lo stream ''stream''. Se il parametro ''buf'' è uguale a [[#NULL|NULL]], la funzione è equivalente a <tt>[[#setvbuf|setvbuf]](stream, [[#NULL|NULL]], [[#_IONBF|_IONBF]], 0)</tt>, altrimenti è equivalente a <tt>[[#setvbuf|setvbuf]](stream, buf, [[#_IOFBF|_IOFBF]], [[#BUFSIZ|BUFSIZ]])</tt>.
 
'''Nota''': la funzione [[#setvbuf()|setvbuf()]] è da preferire.
}}
 
===setvbuf()===
{{ Funzione C
| nome=setbuf
| valoreritorno=int
| descritorno=ritorna 0 in caso di successo, altrimenti un valore non-nullo
| tipoparametro1=[[#FILE|FILE]]*
| nomeparametro1=stream
| descparametro1=puntatore allo stream
| tipoparametro2=char*
| nomeparametro2=buf
| descparametro2=array da usare come buffer (almeno di dimensione ''size''), oppure [[#NULL|NULL]]
| tipoparametro3=int
| nomeparametro3=mode
| descparametro3=modalità di bufferizzazione. Può assumere come valori [[#_IOFBF|_IOFBF]], [[#_IOLBF|_IOLBF]] oppure [[#_IONBF|_IONBF]]
| tipoparametro4=[[#size_t|size_t]]
| nomeparametro4=size
| descparametro4=dimensione del buffer
| descrizione=Imposta il buffer per lo stream ''stream''. Il parametro ''mode'' controlla il tipo di bufferizzazione:
* [[#_IOFBF|_IOFBF]]: bufferizzazione completa;
* [[#_IOLBF|_IOLBF]]: bufferizzazione di una singola riga;
* [[#_IONBF|_IONBF]]: nessuna bufferizzazione.
Se il parametro ''buf'' è uguale a [[#NULL|NULL]] e il parametro mode è diverso da [[#_IONBF|_IONBF]], il buffer viene allocato internamente tramite la funzione [[C/Appendice/Librerie standard/stdlib.h#nalloc()|malloc()]], e liberato alla chiusura dello stream.
 
'''Nota''': finché l'array ''buf'' rimane associato ad uno stream, è bene non cercare di accedere ai suoi elementi direttamente, perché gli effetti non sono definiti.
}}
 
===tmpfile()===
{{ Funzione C
| nome=tmpfile
| valoreritorno=[[#FILE|FILE]]*
| descritorno=Restituisce un puntatore a uno stream valido in caso di successo, o [[#NULL|NULL]] in caso di errore
| descrizione=Crea un file temporaneo e lo apre in modalità "wb+" (vedi [[#fopen()|fopen()]]). Alla chiusura dello stream o al termine del programma, il file viene cancellato.
}}
 
 
===tmpnam()===
{{ Funzione C
| nome=tmpnam
| valoreritorno=char*
| descritorno=Restituisce un puntatore ad una scringa contenente il nome del file
| tipoparametro1=char*
| nomeparametro1=result
| descparametro1=un array di almeno [[#L_tmpnam|L_tmpnam]] caratteri, oppure [[#NULL|NULL]]
| descrizione=Genera un nome di file valido che può essere usato come nome di un file temporaneo. Nel caso in cui il parametro ''result'' sia [[#NULL|NULL]], il nome viene memorizzato in un array interno e viene restituito un puntatore a tale array, il che rende la funzione ''non-rientrante'' (cioè modifica il suo stato se viene chiamata successivamente). Se invece il parametro ''result'' è un array valido, il nome del file viene memorizzato in esso.
 
'''Nota''': l'uso della funzione tmpfile è generalmente più sicuro.
}}