我有一串字符,类似于“asdf + lghd + ewre + fdsf + ...”,长度不一。由此,我还有一个与 sscanf 函数一起使用的模板,类似于“%s + %s + %s + ...”。因为这两者的长度各不相同,是否可以用动态字符串数组替换 sscanf 中要存储值的那些附加参数?例如:
char *test = "adfe + asdf + fghe + jklo";
char *template = "%s + %s + %s + %s";
char destination[4][4];
sscanf(test, template, destination);
乍一看这似乎行不通,那么有没有其他方法可以做到这一点?
最佳答案
sscanf()
不支持此功能,但您可以编写自己的 scanf 版本。
我已经在 C# 中完成了此操作并发布了代码 here .也许我的代码会给您一些用 C 语言编写自定义版本的想法。
关于c - 可以用数组替换 sscanf 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081566/