'Character Array' 到 'Integer array' 的整数

'Character Array' of integers to 'Integer array'

我的要求:

将一些(未知数量的)整数作为用户输入并将它们存储在数字数组中。

例如:输入:25 3 4 78。我希望将它们存储在一个数字数组中,比如 num as

    num[0] = 25
    num[1] = 3
    num[2] = 4
    num[3] = 78
    . . . 

我做了什么:

  1. 将输入存储在字符数组中。

    获取(arr); //从命令提示符中获取输入并存储在字符串中

  2. 然后我试图找到空格并分隔字符,但事实证明 double digit number(say,25) 存储为 25 而不是作为 25.

如何实现?

好吧,因为你没有展示你的代码,我也不会提供任何代码,但我会非常乐意为你提供流程图。

  1. 定义一个足够大的数组(以后可能会改为动态分配)。
  2. 使用 fgets().
  3. 从用户那里获取输入(不是命令行参数
  4. 使用 strtok() 来标记输入,使用 space </code> 作为分隔符。</li> <li>如果收到非 NULL 令牌,使用 <a href="http://linux.die.net/man/3/strtol" rel="nofollow"><code>strtol() 将令牌转换为 intlong.
  5. 如果 strtok() 返回 NULL 意味着你已经得到所有的标记并且输入为空,完成,你得到你的 int 数组。