我需要在代码中调用以下函数,该函数可用于从指定的字符串格式中提取整数:
int sscanf(const char *str, const char *format, ...)
我需要能够向函数传递以句点分隔的数字字符串(即 1.20.3.4),因此我的格式字符串将采用 %d.%d.%d.%d
的形式。 。
问题是,我在运行时传递给函数的数字将具有由句点分隔的随机数量的数字。换句话说,一次通话我就可以通过 1.23
,但在下次通话时我可能会通过 1.23.45.6
。动态生成格式字符串是一项简单的任务,但是我不确定是否可以传入可变数量的剩余参数,这些参数用于存储函数的结果。
有人知道这是否可行或有其他想法吗?
最佳答案
如果您知道整数的数量有上限,那么对于那么多参数总是 sscanf()
。 sscanf()
的返回值将告诉您成功扫描的计数,这意味着您不需要按程序生成格式字符串。
关于c - 如何将可变数量的参数传递给 sscanf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51412451/