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 类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雁过留声花欲落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值