c - C 中的可变参数 scanf

标签 c parsing list scanf variadic-functions

我很好奇是否可以在 C 中实现 scanf 的某种可变版本。我的意思是如果输入是 push (1 2 3)scanf 能够将其解析为 %s %d %d %d ,类似于 scanf("%s (%d)", string, some_list )

它将获取 %d 的所有实例并将它们(按顺序)附加到列表中...

我说的有道理吗?

编辑:对于指定的输入,string == "push"some_list == [1, 2, 3]

最佳答案

不是 vscanf, vssscanf, vsfcanf是您要找的吗?它们从 C99 开始可用。

这里是 vscanf 的说明和用法示例功能。请注意,C 是一种编译型强类型语言,您需要正确给出格式说明符。做一些类似于高级语言所做的事情将涉及更多工作(但这是可能的,因为功能反过来是用 C 编写的)。

关于c - C 中的可变参数 scanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6922159/

相关文章:

c - 类型转换 void 指针并分配内存

java - 将文件中的字符串值解析为 float ,其中字符串包含逗号

C - Vsprintf 和变量参数列表

python - Python 中长度为 n 的一系列空列表?

c - 在C中解密文件的功能?

c - 创建静态库时生成文件中的 undefined reference 错误

c - 指向 char 数组的指针数组

regex - 为文本编辑器定义语法的最佳方法是什么?

c++ - 使用下推自动化创建语法树?

c# - 将 C# 列表列表导出到 Excel