当前位置: 首页 > news >正文

C语言 常用系统函数

<string.h> 头文件中的字符串函数

标准库的头文件 <string.h> 中,有三个常用的字符串函数:

函数名

描述

strlen(str)

返回str的长度,类型是 size_t

strcpy(str1,str2)

将str2中的字符串复制到str1中

strcat(str1,str2)

将 str2 中的字符串追加到 str1 后面


<stdio.h> 头文件中的格式写入和提取函数

标准库的头文件 <stdio.h> 中,也有两个字符串函数:

sprintf(),用于将格式化数据写入字符串。相比于 printf(),多了一个参数,第一个参数是要写入的字符串,后面参数与 printf() 一致。简单地讲,sprintf() 是将内容写入字符串而不是输出

sscanf(),用于从一个字符串中按照指定的格式提取数据。相比于 scanf(),多了一个参数,第一个参数是要提取数据的字符串,后面参数与 scanf() 一致。简单地讲,sscanf() 是从字符串中提取数据而不是从用户输入提取数据

char buffer[100];
int num = 123;
float pi = 3.1415;

sprintf(buffer, "整数: %d, 浮点数: %.2f", num, pi);
// buffer 内容变为:"整数: 123, 浮点数: 3.14"
char input[] = "Name: Alice, Age: 25, Score: 95.5";
char name[20];
int age;
float score;

sscanf(input, "Name: %s, Age: %d, Score: %f", name, &age, &score);
// name = "Alice", age = 25, score = 95.5

高级用法

 指定读取/写入的字符数:

char str[10];
sscanf("123456", "%4s", str); // 只读取前4个字符 → str="1234"
sprintf(str, "%6d", 123);     // 输出宽度为6,不足补空格 → "   123"

 用 * 跳过不需要的数据:

int year, month;
sscanf("2023-09-15", "%d-%*d-%d", &year, &month); // 跳过中间的 "09"
// year=2023, month=15

使用 %[...] 或 %[^...] 提取特定内容:

char date[] = "2023/09/15";
int y, m, d;
sscanf(date, "%d/%d/%d", &y, &m, &d); // 用 '/' 分隔 → y=2023, m=9, d=15

<time.h>头文件中日期时间相关函数

函数名

描述

time(&变量)

获取当前日期赋值到变量中,该变量需是 time_t 类型

ctime(&时间值)

将时间值转为字符串并返回,时间值需是 time_t 类型

difftime(时间值1,时间值2)

返回两个时间值的差,返回值是 double 类型,时间值需是 time_t 类型

注意:

time_t 是C语言中用于表示时间值的数据类型,它通常是一个整数类型(int 或 long 或 long long),用于存储时间戳。

时间戳是指从1970年1月1日(通常称为UNIX纪元)零时零分零秒(UTC时间)起至某一特定时刻所经过的秒数。

<math.h>头文件中数学相关函数

函数名

描述

sqrt(x)

计算平方根

cbrt(x)

计算立方根

pow(x,y)

计算x的y次方

fabs(x)

计算x的绝对值

ceil(x)

向上取整

floor(x)

向下取整

round(x)

四舍五入取整

trunc(c)

截断小数部分

注意:以上函数的参数与返回值的类型都是 double 类型。

相关文章:

  • 蓝桥云客 找素数
  • reconstruct_3d_object_model_for_matching例子
  • C# WPF编程-Menu
  • 戴尔系列电脑安装UBUNTU系统
  • MySQL事务:确保数据一致性的关键机制
  • fastapi+angular宠物领养系统
  • 基于Nvidia Jetson Nano边缘计算设备使用TensorRT部署YOLOv8模型实现目标检测推理
  • 基于Python+Ollama DeepSeek与MySQL进行数据分析探索
  • apache-maven-3.9.9 详细安装配置教程(2025版)
  • 贪心算法作业参考:P1106,P4995,P5019
  • 2000-2019年各省地方财政税收收入数据
  • 深入剖析React中setState的执行机制与实现原理
  • LeetCode算法题(Go语言实现)_04
  • 深入解析 GORM 的 Model 方法:隐式选择与模型绑定的艺术
  • 【安全运营】用户与实体行为分析(UEBA)浅析
  • 【从零开始学习计算机科学与技术】计算机网络(七)应用层
  • ClickHouse Docker 容器迁移指南:从测试环境到离线正式环境
  • 【css酷炫效果】纯CSS实现大风车旋转效果
  • 【2025】LLM(大模型)开源项目介绍与使用场景
  • 火山引擎(豆包大模型)(抖音平台)之火山方舟的Prompt的使用测试
  • 人民网:激发博物馆创新活力,让“过去”拥有“未来”
  • 解放日报:“感觉全世界人都在上海买买买”
  • 习近平向第三十四届阿拉伯国家联盟首脑理事会会议致贺信
  • 蒲慕明院士:未来数十年不是AI取代人,而是会用AI的人取代不会用的
  • 习近平会见智利总统博里奇
  • 陕西河南山西等地将现“干热风”灾害,小麦产区如何防范?