C æ ‡å‡†åº“ - <stdio.h>
简介
stdio .h 头文件定义了三个��类型�一些�和��函数�执行输入和输出。
库��
下é�¢æ˜¯å¤´æ–‡ä»¶ stdio.h ä¸å®šä¹‰çš„å�˜é‡�类型:
| �� | �� & �述 |
|---|---|
| 1 | size_t è¿™æ˜¯æ— ç¬¦å�·æ•´æ•°ç±»åž‹ï¼Œå®ƒæ˜¯ sizeof 关键å—的结果。 |
| 2 | FILE 这是一个适å�ˆå˜å‚¨æ–‡ä»¶æµ�ä¿¡æ�¯çš„对象类型。 |
| 3 | fpos_t 这是一个适å�ˆå˜å‚¨æ–‡ä»¶ä¸ä»»ä½•ä½�置的对象类型。 |
库�
下é�¢æ˜¯å¤´æ–‡ä»¶ stdio.h ä¸å®šä¹‰çš„å®�:
| �� | � & �述 |
|---|---|
| 1 | NULL 这个�是一个空指针常�的值。 |
| 2 | _IOFBF�_IOLBF 和 _IONBF 这些�扩展了带有特定值的整型常�表达�,并适用于 setvbuf 函数的第三个�数。 |
| 3 | BUFSIZ 这个�是一个整数,该整数代表了 setbuf 函数使用的缓冲区大�。 |
| 4 | EOF 这个�是一个表示已�到达文件结�的负整数。 |
| 5 | FOPEN_MAX 这个�是一个整数,该整数代表了系统�以�时打开的文件数�。 |
| 6 | FILENAME_MAX 这个å®�是一个整数,该整数代表了å—符数组å�¯ä»¥å˜å‚¨çš„æ–‡ä»¶å��的最大长度。如果实现没有任何é™�制,则该值应为推è��的最大值。 |
| 7 | L_tmpnam 这个å®�是一个整数,该整数代表了å—符数组å�¯ä»¥å˜å‚¨çš„ç”± tmpnam 函数创建的临时文件å��的最大长度。 |
| 8 | SEEK_CURã€�SEEK_END å’Œ SEEK_SET 这些å®�是在 fseek 函数ä¸ä½¿ç”¨ï¼Œç”¨äºŽåœ¨ä¸€ä¸ªæ–‡ä»¶ä¸å®šä½�ä¸�å�Œçš„ä½�置。 |
| 9 | TMP_MAX 这个�是 tmpnam 函数�生�的独特文件�的最大数�。 |
| 10 | stderrã€�stdin å’Œ stdout 这些å®�是指å�‘ FILE ç±»åž‹çš„æŒ‡é’ˆï¼Œåˆ†åˆ«å¯¹åº”äºŽæ ‡å‡†é”™è¯¯ã€�æ ‡å‡†è¾“å…¥å’Œæ ‡å‡†è¾“å‡ºæµ�。 |
库函数
下é�¢æ˜¯å¤´æ–‡ä»¶ stdio.h ä¸å®šä¹‰çš„函数:
为了更好地ç�†è§£å‡½æ•°ï¼Œè¯·æŒ‰ç…§ä¸‹é�¢çš„åº�列å¦ä¹ è¿™äº›å‡½æ•°ï¼Œå› ä¸ºç¬¬ä¸€ä¸ªå‡½æ•°ä¸åˆ›å»ºçš„æ–‡ä»¶ä¼šåœ¨å�Žç»çš„函数ä¸ä½¿ç”¨åˆ°ã€‚
| �� | 函数 & �述 |
|---|---|
| 1 | int fclose(FILE *stream) 关闿µ� stream。刷新所有的缓冲区。 |
| 2 | void clearerr(FILE *stream) 清除给定æµ� stream 的文件结æ�Ÿå’Œé”™è¯¯æ ‡è¯†ç¬¦ã€‚ |
| 3 | int feof(FILE *stream) 测试给定æµ� stream 的文件结æ�Ÿæ ‡è¯†ç¬¦ã€‚ |
| 4 | int ferror(FILE *stream) 测试给定æµ� stream çš„é”™è¯¯æ ‡è¯†ç¬¦ã€‚ |
| 5 | int fflush(FILE *stream) 刷新� stream 的输出缓冲区。 |
| 6 | int fgetpos(FILE *stream, fpos_t *pos) 获�� stream 的当�文件�置,并把它写入到 pos。 |
| 7 | FILE *fopen(const char *filename, const char *mode) 使用给定的模� mode 打开 filename 所指�的文件。 |
| 8 | size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定æµ� stream 读å�–æ•°æ�®åˆ° ptr 所指å�‘的数组ä¸ã€‚ |
| 9 | FILE *freopen(const char *filename, const char *mode, FILE *stream) 把一个新的文件å�� filename 与给定的打开的æµ� stream å…³è�”,å�Œæ—¶å…³é—æµ�ä¸çš„æ—§æ–‡ä»¶ã€‚ |
| 10 | int fseek(FILE *stream, long int offset, int whence) 设置æµ� stream 的文件ä½�置为给定的å��ç§» offset,å�‚æ•° offset æ„�味ç�€ä»Žç»™å®šçš„ whence ä½�置查找的å—节数。 |
| 11 | int fsetpos(FILE *stream, const fpos_t *pos) 设置给定� stream 的文件�置为给定的�置。�数 pos 是由函数 fgetpos 给定的�置。 |
| 12 | long int ftell(FILE *stream) 返回给定� stream 的当�文件�置。 |
| 13 | size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) 把 ptr 所指å�‘的数组ä¸çš„æ•°æ�®å†™å…¥åˆ°ç»™å®šæµ� stream ä¸ã€‚ |
| 14 | int remove(const char *filename) åˆ é™¤ç»™å®šçš„æ–‡ä»¶å�� filename,以便它ä¸�å†�被访问。 |
| 15 | int rename(const char *old_filename, const char *new_filename) 把 old_filename 所指�的文件�改为 new_filename。 |
| 16 | void rewind(FILE *stream) 设置文件�置为给定� stream 的文件的开头。 |
| 17 | void setbuf(FILE *stream, char *buffer) 定义� stream 应如何缓冲。 |
| 18 | int setvbuf(FILE *stream, char *buffer, int mode, size_t size) �一个定义� stream 应如何缓冲的函数。 |
| 19 | FILE *tmpfile(void) 以二进制更新模�(wb+)创建临时文件。 |
| 20 | char *tmpnam(char *str) 生æˆ�并返回一个有效的临时文件å��,该文件å��之å‰�是ä¸�å˜åœ¨çš„。 |
| 21 | int fprintf(FILE *stream, const char *format, ...) å�‘é€�æ ¼å¼�化输出到æµ� stream ä¸ã€‚ |
| 22 | int printf(const char *format, ...) å�‘é€�æ ¼å¼�åŒ–è¾“å‡ºåˆ°æ ‡å‡†è¾“å‡º stdout。 |
| 23 | int sprintf(char *str, const char *format, ...) å�‘é€�æ ¼å¼�化输出到å—符串。 |
| 24 | int vfprintf(FILE *stream, const char *format, va_list arg) 使用å�‚数列表å�‘é€�æ ¼å¼�化输出到æµ� stream ä¸ã€‚ |
| 25 | int vprintf(const char *format, va_list arg) 使用å�‚数列表å�‘é€�æ ¼å¼�åŒ–è¾“å‡ºåˆ°æ ‡å‡†è¾“å‡º stdout。 |
| 26 | int vsprintf(char *str, const char *format, va_list arg) 使用å�‚数列表å�‘é€�æ ¼å¼�化输出到å—符串。 |
| 27 | int fscanf(FILE *stream, const char *format, ...) 从æµ� stream 读å�–æ ¼å¼�化输入。 |
| 28 | int scanf(const char *format, ...) ä»Žæ ‡å‡†è¾“å…¥ stdin 读å�–æ ¼å¼�化输入。 |
| 29 | int sscanf(const char *str, const char *format, ...) 从å—符串读å�–æ ¼å¼�化输入。 |
| 30 | int fgetc(FILE *stream) 从指定的æµ� stream 获å�–下一个å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符),并把ä½�ç½®æ ‡è¯†ç¬¦å¾€å‰�移动。 |
| 31 | char *fgets(char *str, int n, FILE *stream) 从指定的æµ� stream 读å�–一行,并把它å˜å‚¨åœ¨ str 所指å�‘çš„å—符串内。当读å�– (n-1) 个å—符时,或者读å�–到æ�¢è¡Œç¬¦æ—¶ï¼Œæˆ–者到达文件末尾时,它会å�œæ¢ï¼Œå…·ä½“视情况而定。 |
| 32 | int fputc(int char, FILE *stream) 把å�‚æ•° char 指定的å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符)写入到指定的æµ� stream ä¸ï¼Œå¹¶æŠŠä½�ç½®æ ‡è¯†ç¬¦å¾€å‰�移动。 |
| 33 | int fputs(const char *str, FILE *stream) 把å—符串写入到指定的æµ� stream ä¸ï¼Œä½†ä¸�包括空å—符。 |
| 34 | int getc(FILE *stream) 从指定的æµ� stream 获å�–下一个å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符),并把ä½�ç½®æ ‡è¯†ç¬¦å¾€å‰�移动。 |
| 35 | int getchar(void) ä»Žæ ‡å‡†è¾“å…¥ stdin 获å�–一个å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符)。 |
| 36 | char *gets(char *str) ä»Žæ ‡å‡†è¾“å…¥ stdin 读å�–一行,并把它å˜å‚¨åœ¨ str 所指å�‘çš„å—符串ä¸ã€‚当读å�–到æ�¢è¡Œç¬¦æ—¶ï¼Œæˆ–者到达文件末尾时,它会å�œæ¢ï¼Œå…·ä½“视情况而定。 |
| 37 | int putc(int char, FILE *stream) 把å�‚æ•° char 指定的å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符)写入到指定的æµ� stream ä¸ï¼Œå¹¶æŠŠä½�ç½®æ ‡è¯†ç¬¦å¾€å‰�移动。 |
| 38 | int putchar(int char) 把å�‚æ•° char 指定的å—ç¬¦ï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—ç¬¦ï¼‰å†™å…¥åˆ°æ ‡å‡†è¾“å‡º stdout ä¸ã€‚ |
| 39 | int puts(const char *str) 把一个å—ç¬¦ä¸²å†™å…¥åˆ°æ ‡å‡†è¾“å‡º stdout,直到空å—符,但ä¸�包括空å—符。æ�¢è¡Œç¬¦ä¼šè¢«è¿½åŠ åˆ°è¾“å‡ºä¸ã€‚ |
| 40 | int ungetc(int char, FILE *stream) 把å—符 charï¼ˆä¸€ä¸ªæ— ç¬¦å�·å—符)推入到指定的æµ� stream ä¸ï¼Œä»¥ä¾¿å®ƒæ˜¯ä¸‹ä¸€ä¸ªè¢«è¯»å�–到的å—符。 |
| 41 | void perror(const char *str) 把一个æ��述性错误消æ�¯è¾“å‡ºåˆ°æ ‡å‡†é”™è¯¯ stderr。首先输出å—符串 str,å�Žè·Ÿä¸€ä¸ªå†’å�·ï¼Œç„¶å�Žæ˜¯ä¸€ä¸ªç©ºæ ¼ã€‚ |
| 42 | int snprintf(char *str, size_t size, const char *format, ...) æ ¼å¼�å—符串到 str ä¸ã€‚ |
点我分享笔记