【发布时间】:2013-03-21 11:21:01
【问题描述】:
我有一个可能相当普遍的问题,并且可能有一个我不知道的漂亮技巧。如果有人能启发我,我将不胜感激!
我正在使用 C 的 sscanf() 函数来解析输入,格式为 “%d %d %d %s %d %s %d ...” 其中前两个 %d 是字符串的随机 ID 整数(无关紧要),第三个是要遵循的 %d %s 个组合的计数。
例如,“12 34 2 3 yes 2 no”可以是一个字符串,其中 12 和 34 random 是 ID(对问题不重要),2 指定 '3 yes' 和 '2 no' 之后的两个组合.前面的 3 'yes' 指定后面的字符串的长度,对于前面带有 2 的 'no' 也是如此。后面我们可以有不同数量的这些组合,我们想用 sscanf 捕获它们。
有谁知道用 sscanf 做这件事的任何方法吗?
非常感谢!
【问题讨论】:
-
如果 C++ 标签是准确的,您可能希望使用
stringstream来代替。它会让这变得更容易。 -
是的,我更正了。对不起。
-
@TimHaggard:这是 C 问题还是 C++ 问题?它们是不同的语言。
-
@nneonneo:
scanf函数是 C 标准的一部分,也是 C++ 标准的一部分。用一种或两种语言标记scanf()问题是合适的。 -
@Ben 但是根据使用的语言,一个好的答案会大不相同,这需要两个不同的问题/答案。将两者结合起来并没有真正帮助 imo。