sscanf--字符串中提取数据

sscanf 是 C 标准库中的一个函数,用于从 字符串 中按照指定格式提取数据。它的作用类似于 scanf,但 scanf 是从标准输入(通常是键盘)读取数据,而 sscanf 是从一个字符串中读取数据。
函数原型

int sscanf(const char *str, const char *format, ...);

str:要解析的字符串。
format:格式字符串,指定如何解析 str。
…:可变参数,用于存储解析后的数据。
返回值
返回成功解析并存储的数据项的数量。
如果解析失败,返回 EOF。

常用格式说明符
格式说明符 含义
%d 解析一个整数。
%f 解析一个浮点数。
%c 解析一个字符。
%s 解析一个字符串(以空格分隔)。
%[…] 解析指定字符集合中的字符。

示例 1:解析整数
#include <stdio.h>

int main() {
    char str[] = "123 456";
    int a, b;
    sscanf(str, "%d %d", &a, &b);
    printf("a = %d, b = %d\n", a, b);
    return 0;
}
示例 2:解析日期

#include <stdio.h>

int main() {
    char date[] = "20231025";
    int year, month, day;
    sscanf(date, "%4d%2d%2d", &year, &month, &day);
    printf("Year = %d, Month = %d, Day = %d\n", year, month, day);
    return 0;
}
示例 3:解析字符串和浮点数
#include <stdio.h>

int main() {
    char str[] = "Pi = 3.14159";
    char name[10];
    float value;
    sscanf(str, "%s = %f", name, &value);
    printf("Name = %s, Value = %.5f\n", name, value);
    return 0;
}

sscanf 是从字符串中提取数据的强大工具。

通过指定格式字符串,可以灵活地解析各种类型的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值