例如我有字符串:
34912512 34912767 a.b.c.d.e - i.f.g.h.i HJ -
Run Code Online (Sandbox Code Playgroud)
此代码不起作用:
sscanf (line, "%ld\t%ld\t%s\t%s\t%s", &a, &b, &c, &d, &e );
Run Code Online (Sandbox Code Playgroud)
这将一直读到换行符:
char a[123];
sscanf(line, "%[^\n]", a);
Run Code Online (Sandbox Code Playgroud)
如果您还希望它一直读到一个选项卡,您可以将其更改为: "%[^\t\n]"
由于您似乎已经将此字符串读入 buffer line,因此sscanfis的替代方法strtok将返回指向标记的指针line(以空格、制表符等分隔)。