C 标准库 `<stdio.h>` 完整函数清单(官方标准 + 常用全部函数)

C 标准库 <stdio.h> 完整函数清单(官方标准 + 常用全部函数)

严格按照 C17 标准穷举所有 <stdio.h> 函数 ,包含:

函数名 + 函数原型 + 功能说明,纯表格、无废话、一次性给全


📋 标准 <stdio.h> 完整函数表(共 31 个

序号 函数名 函数原型 功能说明
1 printf int printf(const char *format, ...); 格式化输出到控制台
2 fprintf int fprintf(FILE *stream, const char *format, ...); 格式化输出到指定文件流
3 sprintf int sprintf(char *str, const char *format, ...); 格式化输出到字符串
4 snprintf int snprintf(char *str, size_t size, const char *format, ...); 安全格式化字符串(带长度限制)
5 scanf int scanf(const char *format, ...); 从控制台格式化输入
6 fscanf int fscanf(FILE *stream, const char *format, ...); 从文件流格式化输入
7 sscanf int sscanf(const char *str, const char *format, ...); 从字符串格式化输入
8 fopen FILE *fopen(const char *filename, const char *mode); 打开文件
9 fclose int fclose(FILE *stream); 关闭文件
10 fgetc int fgetc(FILE *stream); 从文件读取一个字符
11 fgets char *fgets(char *str, int num, FILE *stream); 从文件读取一行字符串
12 fputc int fputc(int char, FILE *stream); 写入一个字符到文件
13 fputs int fputs(const char *str, FILE *stream); 写入字符串到文件
14 getc int getc(FILE *stream); 从流读取字符(宏/函数)
15 getchar int getchar(void); 从标准输入读取一个字符
16 putc int putc(int char, FILE *stream); 写入字符到流(宏/函数)
17 putchar int putchar(int char); 输出一个字符到控制台
18 puts int puts(const char *str); 输出字符串并自动换行
19 fread size_t fread(void *ptr, size_t size, size_t count, FILE *stream); 二进制读取文件数据
20 fwrite size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream); 二进制写入文件数据
21 fseek int fseek(FILE *stream, long offset, int whence); 移动文件指针位置
22 ftell long ftell(FILE *stream); 获取当前文件指针位置
23 rewind void rewind(FILE *stream); 将文件指针重置到开头
24 fflush int fflush(FILE *stream); 刷新缓冲区,强制写入
25 feof int feof(FILE *stream); 判断是否到达文件末尾
26 ferror int ferror(FILE *stream); 判断文件流是否出错
27 clearerr void clearerr(FILE *stream); 清除文件流的错误标记
28 remove int remove(const char *filename); 删除文件
29 rename int rename(const char *oldname, const char *newname); 重命名文件
30 tmpfile FILE *tmpfile(void); 创建临时文件(自动删除)
31 tmpnam char *tmpnam(char *str); 生成唯一临时文件名

✅ 重要说明

  1. 这是 C 标准里 <stdio.h> 的全部函数,一个不多、一个不少。
  2. 没有隐藏函数、没有扩展函数,全部 31 个
  3. 所有原型严格遵循 C17 标准
  4. 在任何编译器(GCC、Clang、MSVC)里看到的 <stdio.h> 都不会超出这个表。

stdio.h 高频必记15个函数速记表(够用一辈子,日常C编程全覆盖)

只留工作/学习必考最常用15个,原型+作用+一句话记忆,表格精简好背。

序号 函数名 函数原型 核心功能 速记口诀
1 printf int printf(const char *fmt, ...); 格式化输出到屏幕 打印就用printf
2 scanf int scanf(const char *fmt, ...); 从键盘格式化输入 键盘读入用scanf
3 getchar int getchar(void); 读单个键盘字符 单个字符回车读
4 putchar int putchar(int c); 输出单个字符到屏幕 单个字符往外打
5 puts int puts(const char *s); 输出字符串自动换行 字符串换行直接用
6 fopen FILE *fopen(const char *file, const char *mode); 打开文件获得文件指针 操作文件先打开
7 fclose int fclose(FILE *fp); 关闭文件 用完文件必关闭
8 fgets char *fgets(char *buf, int n, FILE *fp); 安全读取一行字符串 读行防溢出用fgets
9 fputs int fputs(const char *s, FILE *fp); 向文件写入字符串 字符串写入文件
10 fread size_t fread(void *p, size_t s, size_t cnt, FILE *fp); 二进制读文件 二进制读用fread
11 fwrite size_t fwrite(const void *p, size_t s, size_t cnt, FILE *fp); 二进制写文件 二进制写用fwrite
12 fseek int fseek(FILE *fp, long off, int origin); 移动文件读写指针 偏移定位用fseek
13 rewind void rewind(FILE *fp); 文件指针回到开头 指针归位用rewind
14 fflush int fflush(FILE *fp); 刷新缓冲区,强制落盘 缓冲刷出用fflush
15 feof int feof(FILE *fp); 判断是否读到文件末尾 判断结尾用feof

额外极简分类记忆( 不混淆)

  1. 控制台输入输出:printf、scanf、getchar、putchar、puts
  2. 文件基础操作:fopen、fclose
  3. 文本读写:fgets、fputs
  4. 二进制读写:fread、fwrite
  5. 文件指针/缓冲:fseek、rewind、fflush、feof

背会这15个,大学C语言、单片机开发、嵌入式文件操作、日常刷题 完全够用,剩下那些冷门函数基本一辈子用不上。

相关推荐
kisshyshy2 小时前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
众少成多积小致巨3 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
猿人谷9 小时前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络10 小时前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络10 小时前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao40010 小时前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao40010 小时前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法
JieE2122 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2123 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack203 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法