linux

linux sscanf如何解析字符串

小樊
85
2024-08-26 22:38:10
栏目: 智能运维

在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,则表示我们已成功读取名字和年龄。

0
看了该问题的人还看了