【发布时间】:2021-11-06 20:29:25
【问题描述】:
其实我有一个这样的字符串:"1,22,333,,55555,666666,7777777"
从这个字符串我创建了两个数组:
- 一个与每个参数的大小。对于给定的示例,它看起来像这样:
[1;2;3;0;5;6;7] - 第二个带有引用每个参数开头的指针。 对于给定的示例,它看起来像这样:
["1,22,333,,55555,666666,7777777";
"22,333,,55555,666666,7777777";
"333,,55555,666666,7777777";
",55555,666666,7777777";
"55555,666666,7777777";
"666666,7777777";
"7777777"]
参数的长度和类型可以改变,但不能按顺序改变。 所以我想用类型转换来存储它们以供相关人员使用
我已经测试了sscanf指针数组的每个索引,但它似乎不起作用
char* format = strcat(strcat("%", params_sizes[0]), "u");
strutest.un = sscanf(params_pointer[0], format);
你有什么想法可以帮到我吗?
【问题讨论】:
-
对我来说,不清楚您要做什么。 “所以我想将它们与相关人员的类型转换一起存储”是什么意思
-
"...但它似乎不起作用" 好吧,好吧但是...请描述发生了什么问题
-
"参数可以在 [...] in type 中更改" - 什么? type 对你来说意味着什么?
-
我有一个不同类型的参数结构(float、uint8_t、uint32_t、int16_t、char[]),我想用我拥有的值相应地填充这些参数。
-
据我所知,我想用特定的 scanf 格式扫描指针的值的大小,我必须创建它并且不想创建它
标签: arrays c pointers casting scanf