English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manuale di base del linguaggio C

Controllo di flusso in linguaggio C

C 语言函数

C 语言数组

C 语言指针

C 语言字符串

Struttura C in linguaggio C

C Language File

C Other

C Language Reference Manual

C Standard Library <stdio.h>

stdio .h Il file di intestazione definisce tre tipi di variabile, alcune macro e vari funzioni per eseguire input e output.

Variabile di libreria

Ecco i tipi di variabile definiti nel file di intestazione stdio.h:

Numero di sequenzaVariabile & Descrizione
1size_t
Questo è un tipo di intero unsigned, che è sizeof Risultato della chiave.
2FILE
Questo è un tipo di oggetto adatto a memorizzare informazioni sugli stream di file.
3fpos_t
Questo è un tipo di oggetto adatto a memorizzare qualsiasi posizione in un file.

Macro di libreria

Ecco le macro definite nel file di intestazione stdio.h:

Numero di sequenzaMacro & Descrizione
1NULL
Il valore di questa macro è un puntatore a costante di valore nullo.
2_IOFBF, _IOLBF e _IONBF
Queste macro espandono espressioni costanti intere con valori specifici e sono applicabili a setvbuf Il terzo parametro della funzione.
3BUFSIZ
Questa macro è un intero che rappresenta setbuf Dimensione del buffer utilizzata dalla funzione.
4EOF
Questa macro è un intero negativo che rappresenta l'arrivo alla fine del file.
5FOPEN_MAX
Questa macro è un intero che rappresenta il numero massimo di file che il sistema può aprire contemporaneamente.
6FILENAME_MAX
Questa macro è un intero che rappresenta la lunghezza massima che può essere memorizzata in un array di caratteri per i nomi di file. Se l'implementazione non ha alcun limite, questo valore dovrebbe essere il valore massimo raccomandato.
7L_tmpnam
Questa macro è un intero che rappresenta la lunghezza massima che può essere memorizzata in un array di caratteri da nomi di file temporanei generati dalla funzione tmpnam.
8SEEK_CUR, SEEK_END e SEEK_SET
Queste macro sono definite in fseek Utilizzata nelle funzioni per posizionarsi in diverse posizioni di un file.
9TMP_MAX
Questa macro rappresenta il numero massimo di nomi di file unici generabili dalla funzione tmpnam.
10stderr, stdin e stdout
Questi sono puntatori di tipo FILE, che corrispondono rispettivamente agli stream di errore standard, input standard e output standard.

Funzioni di libreria

Ecco le funzioni definite nel file di intestazione stdio.h:

Per una migliore comprensione delle funzioni, studia queste funzioni secondo la sequenza elencata di seguito, poiché il file creato dalla prima funzione verrà utilizzato nelle funzioni successive.

Numero di sequenzaFunzione & Descrizione
1int fclose(FILE *stream)
Chiudi il flusso stream. Aggiorna tutti i buffer.
2void clearerr(FILE *stream)
Rimuovi l'indicatore di fine del file ed errore del flusso specificato.
3int feof(FILE *stream)
Testa l'indicatore di fine del file del flusso dato stream.
4int ferror(FILE *stream)
Testa l'indicatore di errore del flusso dato stream.
5int fflush(FILE *stream)
Rinfresca il buffer di output del flusso stream.
6int fgetpos(FILE *stream, fpos_t *pos)
Ottieni la posizione corrente del file del flusso stream e scrivila in pos.
7FILE *fopen(const char *filename, const char *mode)
Apri il file puntato da filename utilizzando lo schema dato mode.
8size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Leggi i dati dal flusso dato stream nel array puntato da ptr.
9FILE *freopen(const char *filename, const char *mode, FILE *stream)
Associare un nuovo nome di file filename al flusso aperto dato stream, chiudendo il file vecchio nel flusso.
10int fseek(FILE *stream, long int offset, int whence)
Imposta la posizione del file del flusso stream alla posizione data offset, parametro offset Significa partire dal whence Il numero di byte da cercare.
11int fsetpos(FILE *stream, const fpos_t *pos)
Imposta la posizione del file del flusso dato stream alla posizione data. Parametro pos è la posizione fornita dalla funzione fgetpos.
12long int ftell(FILE *stream)
Restituisce la posizione corrente del file del flusso dato stream.
13size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
Scrivi i dati dell'array puntato da ptr nel flusso dato stream.
14int remove(const char *filename)
Elimina il nome del file fornito filename in modo che non venga più acceduto.
15int rename(const char *old_filename, const char *new_filename)
Cambia il nome del file puntato da old_filename in new_filename.
16void rewind(FILE *stream)
Imposta la posizione del file all'inizio del flusso stream specificato.
17void setbuf(FILE *stream, char *buffer)
Definisce come il flusso stream deve essere bufferizzato.
18int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
Un'altra funzione che definisce come il flusso stream deve essere bufferizzato.
19FILE *tmpfile(void)
Crea un file temporaneo in modalità di aggiornamento binario (wb+).
20char *tmpnam(char *str)
Genera e restituisce un nome di file temporaneo valido, che non esisteva prima.
21int fprintf(FILE *stream, const char *format, ...)
Invia l'output formattato al flusso stream.
22int printf(const char *format, ...)
Invia l'output formattato al flusso standard stdout.
23int sprintf(char *str, const char *format, ...)
Invia l'output formattato a una stringa.
24int vfprintf(FILE *stream, const char *format, va_list arg)
Invia l'output formattato al flusso stream utilizzando un elenco di parametri.
25int vprintf(const char *format, va_list arg)
Invia l'output formattato al flusso standard stdout utilizzando un elenco di parametri.
26int vsprintf(char *str, const char *format, va_list arg)
Invia l'output formattato a una stringa utilizzando un elenco di parametri.
27int fscanf(FILE *stream, const char *format, ...)
Leggi l'input formattato dallo stream stream.
28int scanf(const char *format, ...)
Leggi l'input formattato dal flusso di input standard stdin.
29int sscanf(const char *str, const char *format, ...)
Leggi l'input formattato dalla stringa.
30Leggi il prossimo carattere (un carattere senza segno) dal flusso specificato stream.
Ottieni il prossimo carattere (un carattere senza segno) dal flusso specificato stream e muovi il cursore di posizione in avanti.
31char *fgets(char *str, int n, FILE *stream)
Leggi una riga dal flusso specificato stream e la memorizza nella stringa puntata da str. Si ferma quando si legge il carattere di nuova linea, o raggiunge (n-1) Si ferma quando si legge un carattere, o raggiunge il carattere di nuova linea, o raggiunge la fine del file, a seconda della situazione.
32Scrivi il carattere specificato dal parametro char (un carattere senza segno) nel flusso specificato stream.
Scrivi il carattere specificato dal parametro char (un carattere senza segno) nel flusso specificato stream e muovi il cursore di posizione in avanti.
33int fputs(const char *str, FILE *stream)
Scrivi una stringa nel flusso specificato stream, ma escludendo il carattere nullo.
34int getc(FILE *stream)
Ottieni il prossimo carattere (un carattere senza segno) dal flusso specificato stream e muovi il cursore di posizione in avanti.
35int getchar(void)
Ottieni un carattere (un carattere senza segno) dal flusso di input standard stdin.
36char *gets(char *str)
Leggi una riga dal flusso di input standard stdin e la memorizza nella stringa puntata da str. Si ferma quando si legge il carattere di nuova linea, o raggiunge la fine del file, a seconda della situazione.
37int putc(int char, FILE *stream)
Scrivi il carattere specificato dal parametro char (un carattere senza segno) nel flusso specificato stream e muovi il cursore di posizione in avanti.
38int putchar(int char)
Scrivi il carattere specificato dal parametro char (un carattere senza segno) nel flusso di output standard stdout.
39int puts(const char *str)
Scrivi una stringa nel flusso di output standard stdout fino a carattere nullo, ma escludendo il carattere nullo. Il carattere di nuova linea viene aggiunto all'output.
40int ungetc(int char, FILE *stream)
Inserisci il carattere char (un carattere senza segno) nel flusso specificato stream in modo che sia il prossimo carattere letto.
41void perror(const char *str)
将一个描述性错误消息输出到标准错误 stderr。首先输出字符串 str,然后是一个冒号,接着是一个空格。
42int snprintf(char *str, size_t size, const char *format, ...)
格式字符串到 str 中。