linux sscanf 处理多行文本的方法

   2024-10-01 7860
核心提示:在 Linux 中,sscanf 函数用于从字符串中读取格式化的输入使用 strtok 或 strsep 分割字符串。对每一行使用 sscanf 进行解析。以

在 Linux 中,sscanf 函数用于从字符串中读取格式化的输入

使用 strtokstrsep 分割字符串。对每一行使用 sscanf 进行解析。

以下是一个简单的示例,展示了如何使用 sscanf 处理多行文本:

#include<stdio.h>#include<string.h>int main() {    char text[] = "1 2 3\n4 5 6\n7 8 9";    char *line = strtok(text, "\n");    while (line != NULL) {        int a, b, c;        int result = sscanf(line, "%d %d %d", &a, &b, &c);        if (result == 3) {            printf("Line: %s -> a: %d, b: %d, c: %d\n", line, a, b, c);        } else {            printf("Error parsing line: %s\n", line);        }        line = strtok(NULL, "\n");    }    return 0;}

这个示例中,我们首先使用 strtok 函数将字符串 text 按换行符 \n 分割成多行。然后,我们遍历每一行,并使用 sscanf 函数从每一行中读取三个整数。如果 sscanf 成功读取了三个整数,我们将输出这些整数的值。否则,我们将输出一个错误消息。

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

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