位置:首頁 > 高級語言 > C語言標準庫 > <stdio.h> - C語言標準庫

<stdio.h> - C語言標準庫

stdio.h頭定義了三個變量的類型,幾個宏及各種功能進行輸入和輸出。

庫變量

以下是在頭stdio.h中定義的變量類型:

S.N. 變量和說明
1 size_t 
這是一個無符號整數類型 sizeof關鍵字的結果。
2 FILE 
這是一個對象的類型,適合用於存儲信息的一個文件流。
3 fpos_t 
這是一個對象類型適用於存儲在一個文件中的任何位置。

庫宏

以下是在頭stdio.h中定義的宏:

S.N. 宏與說明
1 NULL
這個宏是一個空指針常量的值。
2 _IOFBF, _IOLBF and _IONBF 
這些都是宏擴大整型常量表達式具有鮮明的值和適合使用setvbuf函數的第三個參數。
3 BUFSIZ
這個宏是一個整數,它表示函數setbuf函數所使用的緩衝區的大小。
4 EOFM 
此宏是一個負整數,表示一個結束-已到達文件結尾。
5 FOPEN_MAX 
此宏是一個整數,代表文件的最大數目,該係統可以保證,可以同時打開。
6 FILENAME_MAX 
這個宏是一個整數,表示一個字符數組,適合持有時間最長的可能的文件名長度最長。如果實現冇有任何限製,那麼這個值應該是推薦的最大值。
7 L_tmpnam 
這個宏是一個整數,表示適合舉行由tmpnam函數創建的臨時文件名可能的最長的一個char數組的長度最長。
8 SEEK_CUR, SEEK_END, and SEEK_SET 
這些宏用於的fseek 函數定位在一個文件中的不同位置。
9 TMP_MAX 
這個宏是唯一的文件名的功能使用tmpnam可以生成的最大數量。
10 stderr, stdin, and stdout 
這些宏的文件類型對應的標準誤差,標準輸入,標準輸出流的指針。

庫函數

以下是在頭stdio.h中定義的函數:

S.N. 函數及說明
1 void clearerr(FILE *stream)
Clears the end-of-file and error indicators for the given stream.
2 int fclose(FILE *stream)
Closes the stream. All buffers are flushed.
3 int feof(FILE *stream)
Tests the end-of-file indicator for the given stream.
4 int ferror(FILE *stream)
Tests the error indicator for the given stream.
5 int fflush(FILE *stream)
Flushes the output buffer of a stream.
6 int fgetpos(FILE *stream, fpos_t *pos)
Gets the current file position of the stream and writes it to pos.
7 FILE *fopen(const char *filename, const char *mode)
Opens the filename yiibaied to by filename using the given mode.
8 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Reads data from the given stream into the array yiibaied to by ptr.
9 FILE *freopen(const char *filename, const char *mode, FILE *stream)
Associates a new filename with the given open stream and same time closing the old file in stream.
10 int fseek(FILE *stream, long int offset, int whence)
Sets the file position of the stream to the given offset. The argument offset signifies the number of bytes to seek from the given whence position.
11 int fsetpos(FILE *stream, const fpos_t *pos)
設置到給定位置的給定的流文件中的位置。參數pos 是由函數的fgetpos 給定的位置。
12 long int ftell(FILE *stream)
返回給定流的當前文件位置。
13 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
Writes data from the array yiibaied to by ptr to the given stream.
14 int remove(const char *filename)
Deletes the given filename so that it is no longer accessible.
15 int rename(const char *old_filename, const char *new_filename)
Causes the filename referred to by old_filename to be changed to new_filename.
16 void rewind(FILE *stream)
Sets the file position to the beginning of the file of the given stream.
17 void setbuf(FILE *stream, char *buffer)
Defines how a stream should be buffered.
18 int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
Another function to define how a stream should be buffered.
19 FILE *tmpfile(void)
Creates a temporary file in binary update mode (wb+).
20 char *tmpnam(char *str)
Generates and returns a valid temporary filename which does not exist.
21 int fprintf(FILE *stream, const char *format, ...)
Sends formatted output to a stream.
22 int printf(const char *format, ...)
Sends formatted output to stdout.
23 int sprintf(char *str, const char *format, ...)
Sends formatted output to a string.
24 int vfprintf(FILE *stream, const char *format, va_list arg)
Sends formatted output to a stream using an argument list.
25 int vprintf(const char *format, va_list arg)
Sends formatted output to stdout using an argument list.
26 int vsprintf(char *str, const char *format, va_list arg)
Sends formatted output to a string using an argument list.
27 int fscanf(FILE *stream, const char *format, ...)
Reads formatted input from a stream.
28 int scanf(const char *format, ...)
Reads formatted input from stdin.
29 int sscanf(const char *str, const char *format, ...)
Reads formatted input from a string.
30 int fgetc(FILE *stream)
Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.
31 char *fgets(char *str, int n, FILE *stream)
Reads a line from the specified stream and stores it into the string yiibaied to by str. It stops when either (n-1) characters are read, the newline character is read, or the end-of-file is reached, whichever comes first.
32 int fputc(int char, FILE *stream)
Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.
33 int fputs(const char *str, FILE *stream)
Writes a string to the specified stream up to but not including the null character.
34 int getc(FILE *stream)
獲取下一個字符(unsigned char類型)從指定的流,並將流的指針位置。
35 int getchar(void)
從標準輸入獲取一個字符(unsigned char類型)。
36 char *gets(char *str)
從標準輸入讀取一行,並將其存儲到由str指向的字符串。它時停止讀取換行符或文件結束時達成,以先到為準。
37 int putc(int char, FILE *stream)
寫入字符到指定的流,並將流的指針位置的參數指定一個字符(unsigned char類型)。
38 int putchar(int char)
寫一個字符(unsigned char類型)的參數指定的字符輸出到stdout。
39 int puts(const char *str)
將一個字符串寫入到stdout,但不包括空字符。一個換行符被追加到輸出。
40 int ungetc(int char, FILE *stream)
將字符的字符(unsigned char類型)到指定的流,這是讀取的下一字符。
41 void perror(const char *str)
打印一個描述性的錯誤消息到stderr。首先打印字符串str接著一個冒號,然後是一個空格。