sscanf
函数是 C 标准库中的一个函数,用于从字符串中按照指定的格式解析数据。它的原型如下:
cpp
int sscanf(const char *str, const char *format, ...);
str
是要解析的字符串。format
是解析格式字符串,它指定了如何从字符串中提取数据。...
是可变数量的参数,用于存储解析结果。
sscanf
函数根据 format
字符串的格式要求,从 str
中提取数据,并将结果存储到提供的参数中。格式字符串中包含转换说明符,用于指定数据的类型和提取方式。
下面是一些常见的转换说明符及其用法:
%d
:读取一个整数。%f
:读取一个浮点数。%c
:读取一个字符。%s
:读取一个字符串,遇到空格、制表符或换行符停止读取。
下面是一个简单的示例,演示了 sscanf
函数的使用方法:
cpp
#include <stdio.h>
int main() {
const char *str = "age: 25, height: 180.5";
int age;
float height;
sscanf(str, "age: %d, height: %f", &age, &height);
printf("Age: %d, Height: %.1f\n", age, height);
return 0;
}
在这个示例中,sscanf
函数从字符串 str
中解析出年龄和身高,并将解析结果存储在 age
和 height
变量中。然后,这些数据被打印出来。