【问题标题】:is storing each digit of an integer into a char array possible? [closed]是否可以将整数的每个数字存储到 char 数组中? [关闭]
【发布时间】:2014-04-09 23:13:31
【问题描述】:

例如,如果 int num 为 123,是否可以将 '1' '2' '3' 存储在 char 数组中?

我试过了

for(int i =0; i<3; i++)
{
    s[i] = static_cast<char>(ar[i]);        
}

但它会打印出奇怪的东西。

【问题讨论】:

  • 看看 sprintf....
  • 我宁愿选择std::stringstream...
  • 无论哪种方式我都很好:)

标签: c++ c arrays char


【解决方案1】:

试试下面的

for(int i =0; i<3; i++)
{
    s[i] = ar[i] + '0';        
}

【讨论】:

  • 假设 OP 的 ar 是一个有四个字节的整数,我怀疑他会从带有这样一个 for 的整数中得到算法。
  • @Rubens ar[i] 看起来像数组的下标运算符。他命名为num的整数。:)
  • OP 将ar[i] 转换为char,因为我假设ar 指向一个有四个字节的整数。
  • @Rubens 你可以假设任何事情。但我假设 ar 是一个数组,因为他将数字命名为 num。 num 和 ar 是不同的名称。
  • 他当然是这么命名的,但如果他有类似a[] = {1, 2, 3} 的东西,谈论将整数转换为 char 数组将毫无意义。在我看来,他想要的只是一个itoa(),或者只是一个从intchar */std::stringstd::stringstream 操作。无论如何,我不是 OP——问题已经接近尾声,正如预期的那样。
猜你喜欢
  • 2021-11-09
  • 2016-09-17
  • 2012-10-12
  • 1970-01-01
  • 2019-06-20
  • 2014-04-30
  • 2012-10-02
  • 1970-01-01
  • 2017-11-10
相关资源
最近更新 更多