c++ - 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;
}
有人可以解释我可能做错了什么以及如何解决吗?
解决方案
您可以使用std::to_string() (C++11),但确保值c
是可以打印的东西是更好的做法。
推荐阅读
- python - 如何从 cython 类调用 python 类
- python - 在 Apache 中使用 mod_wsgi 的 Python Flask;如何让venv工作?
- javascript - JS/AJAX 加载资源失败,服务器响应状态为 404(未找到)
- python - 如果在删除后立即调用,则获取请求返回 304 未修改
- node.js - Slack User Presence Subscription with Botkit startRtm
- javascript - 从 Google Drive 导出 docx 并转换为 base64
- php - 仅请求压缩数据
- c++ - C ++如何禁用具有不同符号变量比较的特定行的编译器警告?
- scala - scala中的特征参数
- node.js - 在 gulp 任务中使用路径模块时路径不正确