linux sscanf 怎样提取特定字段

   2024-10-01 9900
核心提示:在 Linux 中,sscanf 函数用于从字符串中提取特定格式的数据以下是一个使用 sscanf 提取特定字段的示例:#includestdio.h#includ

在 Linux 中,sscanf 函数用于从字符串中提取特定格式的数据

以下是一个使用 sscanf 提取特定字段的示例:

#include<stdio.h>#include<string.h>int main() {    char input[] = "Name: John, Age: 30, City: New York";    char name[20], city[20];    int age;    // 提取 Name 和 City 字段    int result = sscanf(input, "Name: %19[^,], Age: %d, City: %19s", name, &age, city);    if (result == 3) {        printf("Name: %s\n", name);        printf("Age: %d\n", age);        printf("City: %s\n", city);    } else {        printf("Error: Unable to extract fields.\n");    }    return 0;}

在这个示例中,我们使用 sscanf 函数从输入字符串中提取 NameAgeCity 字段。注意,我们使用 %19[^,] 格式说明符来提取 Name 字段,因为它可能包含空格。同时,我们使用 %19s 格式说明符来提取 City 字段,以防止缓冲区溢出。

运行此程序将输出以下结果:

Name: JohnAge: 30City: New York

请注意,sscanf 函数返回成功读取的字段数量。如果返回值不等于预期的字段数量,则表示提取过程中出现错误。在这种情况下,我们可以根据需要处理错误。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号