sscanf怎么用,示例
时间: 2024-06-20 15:01:04 浏览: 89
`sscanf` 是 C 语言中的一个标准库函数,它用于从指定的字符串中按照特定的格式读取数据,并将这些数据存储到相应的变量中。这个函数类似于 `scanf`,但它的主要区别在于它接受的源不是标准输入流(如 `stdin`),而是用户自定义的字符串。
使用 `sscanf` 的基本语法如下:
```c
int sscanf(const char *str, const char *format, ...);
```
- `str`: 是包含待解析数据的字符串。
- `format`: 是一个格式描述符,用于指定如何从字符串中提取数据,如 `%d` 用于整数,`%f` 用于浮点数等。
- `...`: 可变参数列表,包括你想要从字符串中读取的数据类型对应的变量。
一个简单的使用示例:
```c
#include <stdio.h>
int main() {
char input = "Today is 2023-15";
int year, month, day;
if (sscanf(input, "%d-%d-%d", &year, &month, &day) == 3) {
printf("Year: %d, Month: %d, Day: %d\n", year, month, day);
} else {
printf("Invalid date format.\n");
}
return 0;
}
```
在这个例子中,`sscanf` 尝试从 `input` 字符串中按照 "年-月-日" 的格式读取数据,并分别赋值给 `year`、`month` 和 `day`。如果读取成功,返回值为 3;否则,返回值小于 3 表明格式错误。
阅读全文