sscanf中通配符的应用
时间: 2024-01-16 08:18:33 浏览: 25
sscanf函数是C语言中的一个输入函数,用于从字符串中按照指定的格式读取数据。它的原型如下:
```c
int sscanf(const char *str, const char *format, ...);
```
其中,str是要读取的字符串,format是格式控制字符串,后面的参数是要读取的数据的地址。
sscanf函数中的格式控制字符串可以包含各种格式化字符和转换说明符,用于指定要读取的数据的类型和格式。下面是一些常用的格式化字符和转换说明符:
- %d:读取一个有符号十进制整数。
- %u:读取一个无符号十进制整数。
- %f:读取一个浮点数。
- %s:读取一个字符串。
- %c:读取一个字符。
- %x:读取一个十六进制整数。
- %o:读取一个八进制整数。
下面是一个示例,演示了sscanf函数的使用:
```c
#include <stdio.h>
int main() {
char str[] = "John 25 3.14";
char name[20];
int age;
float pi;
sscanf(str, "%s %d %f", name, &age, &pi);
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("Pi: %f\n", pi);
return 0;
}
```
输出结果为:
```
Name: John
Age: 25
Pi: 3.140000
```
这个示例中,我们从字符串"John 25 3.14"中按照指定的格式读取了一个字符串、一个整数和一个浮点数,并将它们分别存储在name、age和pi变量中。