首页 > 解决方案 > c ++:如何将强制转换的 int 值打印到标准输出?

问题描述

我有一个接受字符串的程序。使用check()计算整数字符串中所有值之和的函数,我进行了额外的计算,即 ss。当我尝试将 int 的 ss 转换为 char、c 时,问题就出现了。当我尝试打印出新转换的值时,控制台上什么也没有打印出来,甚至没有错误消息。

我已经尝试使用static_cast<char>(ss),它不会工作。然而,当我尝试打印出 ss 值时,我得到它来打印出来。

源代码

void sum(string input)    
{
  int s = check(input);    
  int ss = (s * 9) % 10;    
  char c = ss;    
  cout << "val is: " << c << endl;    
}

int main()
{
   string x = "7992739871";
   sum(x);
   return 0;
}

有人可以解释我可能做错了什么以及如何解决吗?

标签: c++

解决方案


您可以使用std::to_string() (C++11),但确保值c是可以打印的东西是更好的做法。


推荐阅读