c - 可以用数组替换 sscanf 参数

标签 c split scanf

我有一串字符,类似于“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/

相关文章:

C 重复字符,一个字符一个字符

c# - 如何通过换行字典<string,string>将字符串拆分为键值对

c++ - scanf/字段长度 : using a variable/macro, C/C++

c - 读取整个标准输入以缓冲

c++ - 如何从可变参数列表中获取数据?

python - python字符串与C字符数组的相似性

php - 在大写字符处拆分字符串

php - 如何在 PHP 中通过多个分隔符拆分字符串?

支持箭头键的标准输入跨平台输入解决方案?

c - 带 char 变量的减号运算符