我有一个以下形式的输入字符串
char *s = "one.two three"
我想将它分成 3 个字符串变量。 我在做
sscanf(s, "%s.%s %s", one, two, three);
但它正在读取“one.two”作为变量一的字符串。我该如何处理“.”和 sscanf 的空格?
最佳答案
%s
说明符仅在空格处停止。尝试这样的事情:
sscanf(s, "%[^.].%s %s", one, two, three);
有趣的是,可能不可能为 "%s.%s %s"
生成可接受的输入,因为 %s
仅在一个空格处停止,但 .
必须立即跟随它。
关于带字符分隔符的 c sscanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654599/