在 Linux 中,sscanf
函数用于从字符串中读取格式化的输入
- 使用
strtok
或strsep
分割字符串。 - 对每一行使用
sscanf
进行解析。
以下是一个简单的示例,展示了如何使用 sscanf
处理多行文本:
#include#include 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
成功读取了三个整数,我们将输出这些整数的值。否则,我们将输出一个错误消息。