C语言系统函数-(新增)

一、输入输出函数(I/O)

头文件<stdio.h>

函数 功能 示例
printf() 格式化输出到标准输出 printf("Hello, %s!\n", name);
scanf() 从标准输入读取格式化数据 scanf("%d", &num);
gets() / fgets() 读取字符串(gets 已废弃,推荐 fgets fgets(buffer, 100, stdin);
puts() 输出字符串并换行 puts("Hello");
fopen() / fclose() 打开/关闭文件 FILE *fp = fopen("file.txt", "r");
fprintf() / fscanf() 文件格式化输入输出 fprintf(fp, "%d", value);
fread() / fwrite() 二进制读写 fread(buffer, 1, size, fp);

二、字符串处理函数

头文件<string.h>

函数 功能 示例
strcpy() 字符串复制 strcpy(dest, src);
strcat() 字符串拼接 strcat(str1, str2);
strlen() 获取字符串长度 int len = strlen(s);
strcmp() 字符串比较 if (strcmp(s1, s2) == 0)
strstr() 查找子串 char *p = strstr(haystack, needle);
strchr() / strrchr() 查找字符首次/最后一次出现位置 char *p = strchr(s, 'a');
memset() / memcpy() / memmove() 内存操作 memset(buffer, 0, 100);

⚠️ 注意:strcpystrcat 等不检查边界,易导致缓冲区溢出,推荐使用更安全的 strncpystrncat(需手动补 \0)。


三、内存管理函数

头文件<stdlib.h>

函数 功能 示例
malloc() 动态分配内存 int *p = (int*)malloc(10 * sizeof(int));
calloc() 分配并初始化为 0 int *p = (int*)calloc(10, sizeof(int));
realloc() 重分配内存 p = realloc(p, 20 * sizeof(int));
free() 释放内存 free(p);

注意:使用后需 free(),避免内存泄漏;释放后应将指针置为 NULL


四、数学函数

头文件<math.h>

函数 功能 示例
sqrt() 平方根 double r = sqrt(16.0); // 4.0
pow() 幂运算 double x = pow(2, 3); // 8
sin() / cos() / tan() 三角函数 double s = sin(M_PI / 2);
abs() 整数绝对值(<stdlib.h> int a = abs(-5);
fabs() 浮点绝对值 double f = fabs(-3.14);
ceil() / floor() 向上/向下取整 double c = ceil(3.2); // 4.0

编译时通常需链接数学库:gcc file.c -lm


五、字符处理函数

头文件<ctype.h>

函数 功能 示例
isalpha() 是否为字母 if (isalpha(c))
isdigit() 是否为数字 if (isdigit(c))
isalnum() 字母或数字 if (isalnum(c))
islower() / isupper() 小写/大写判断 if (isupper(c))
tolower() / toupper() 转换大小写 c = tolower('A'); // 'a'

六、时间与日期函数

头文件<time.h>

函数 功能 示例
time() 获取当前时间(秒) time_t t = time(NULL);
ctime() 转为可读字符串 printf("%s", ctime(&t));
localtime() / gmtime() 转为本地/UTC 时间结构 struct tm *tm = localtime(&t);
strftime() 格式化时间输出 strftime(buf, 80, "%Y-%m-%d", tm);

七、程序控制与实用函数

头文件<stdlib.h>

函数 功能 示例
exit() 终止程序 exit(0);
atoi() / atof() / atol() 字符串转数字 int n = atoi("123");
rand() / srand() 随机数生成 srand(time(NULL)); int r = rand();
system() 执行系统命令 system("ls");(Unix)或 system("dir");(Windows)

随机数注意:srand() 只需调用一次(通常在 main 开头)。


八、错误处理

头文件<errno.h>

  • 全局变量 errno:记录最近一次系统调用错误码。
  • perror():打印错误信息。

总结:常用头文件速查

功能类别 头文件
输入输出 <stdio.h>
字符串 <string.h>
内存/通用 <stdlib.h>
数学 <math.h>
字符判断 <ctype.h>
时间日期 <time.h>
错误码 <errno.h>
相关推荐
fie88894 分钟前
MATLAB中LASSO方法的特征矩阵优化与特征选择实现
开发语言·matlab·矩阵
LilySesy8 分钟前
【SAP-MOM项目】二、接口对接(中)
开发语言·python·pandas·restful·sap·abap
零度@11 分钟前
专为 Java 开发者 整理的《Python编程:从入门到实践》前8章核心内容
java·开发语言·windows·python
nbsaas-boot15 分钟前
架构设计怎么做:一套可复用、可落地的方法论
java·开发语言·微服务
骆驼爱记录15 分钟前
Word表格题注自动设置全攻略
开发语言·c#·自动化·word·excel·wps·新人首发
wbs_scy17 分钟前
C++:智能指针完全指南(原理、用法与避坑实战,从 RAII 到循环引用)
开发语言·c++·算法
无人装备硬件开发爱好者19 分钟前
Python + Blender 5.0 几何节点全栈实战教程1
开发语言·python·blender
u01092727119 分钟前
C++中的对象池模式
开发语言·c++·算法
武超杰21 分钟前
深入理解JDBC:Java数据库连接的核心技术与实践
java·开发语言·数据库·jdbc
80530单词突击赢23 分钟前
MPPI算法:ROS下的智能控制实战
开发语言·python