【发布时间】:2016-08-13 23:58:32
【问题描述】:
我已经为此搜索了几个小时,但似乎找不到答案,尤其是在涉及 C 语言时。在 java 中,铸造之类的事情很简单,但我似乎无法在 C 中牢牢掌握它。
我的问题是:我必须从用户那里获得输入,他们可以输入从 0 到 31 的任何数字。他们最多可以输入 31 个数字。他们可以重复。 输入可能如下所示:3 15 32。我知道如何获取此输入并使用 fgets() 函数将其存储为字符串。我将输入存储在数组 s[];
现在,我卡住的部分,如何将其转换为 int 数组,以便 int int[0]=3、i[1]=15、i[2]=32 等。
我尝试使用 sscanf(s, "%d", int),但它只能从输入中获取第一个数字,将其存储在 int[0] 中,然后不填写其余部分。是否有某种功能可以让这一切变得简单快捷?
提前谢谢你。
【问题讨论】:
-
如果归根结底,我可以遍历字符串数组的每个索引并检查数字和空格并以这种方式进行转换,但我想知道是否有更简单快捷的方法就像我可以使用的某种功能。
-
您通常会使用类似 strtok 的函数来遍历字符串并按顺序获取每个数字
标签: c arrays type-conversion