在Linux中,sscanf
函数是一个用于从字符串中读取格式化输入的函数
以下是一个使用sscanf
解析字符串的简单示例:
#include<stdio.h>
int main() {
char input[] = "Hello, my name is John! I am 30 years old.";
char name[20];
int age;
// 使用sscanf从字符串中提取名字和年龄
int result = sscanf(input, "Hello, my name is %19s! I am %d years old.", name, &age);
if (result == 2) {
printf("Name: %s\n", name);
printf("Age: %d\n", age);
} else {
printf("Failed to parse the input string.\n");
}
return 0;
}
在这个示例中,我们使用sscanf
函数从字符串input
中提取名字和年龄。%19s
表示读取一个最大长度为19的字符串(加上空字符),%d
表示读取一个整数。我们需要传递一个指向整数变量的指针(&age
),以便将读取的值存储在该变量中。
运行此程序将输出:
Name: John
Age: 30
请注意,sscanf
函数的返回值表示成功读取的参数数量。在这种情况下,如果返回值为2,则表示我们已成功读取名字和年龄。