c++:如何打印出一个强制转换的 int 值?
c++: How do you print to stdout a casted int value?
我有一个接受字符串的程序。使用计算整数字符串中所有值之和的check()
函数,我进行了额外的计算,也称为 ss。当我尝试将 ss(一个 int(转换为字符 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
的值是可以打印的是一种更好的做法。
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 是否可以从int转换为enum类类型
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 功能样式转换从 'int' 到 'ItemType' 的匹配转换
- 将 int 数组转换为 std::vector<int*>
- 如何转换 int 变量并附加到常量 wchar_t*
- 类型转换<int>的舍入问题
- 在Objective-C中调用sqlite3数据库时,如何调用和转换int/NSNumber
- 转换 int -> 无符号长 长 是否由标准定义
- 简单的 int 到字符串转换..int to const char* 无效
- 如何将转换 int 除法键入为浮点数
- C++类型转换 int * 到类
- 预期的类型说明符,并且无法在初始化时转换“int*”
- 转换int并将其与char*连接
- 字符串流在转换int型时添加新行
- 转换int为字符串/char c++ /Arduino
- c# P-Invoke:如何转换INT fun(BYTE *bStream, UINT16 *nCount, const
- 类型转换(int**)和int(*)的区别
- 从"int"到"nodeType"的无效转换<int>
- 从无符号int构造对强制转换int的引用