打印普通变量,但其结构中的实例正在打印"$"
Normal variable getting printed but its instance in structure is printing "$"
//填充currentTemp和maxTemp 值的函数
result = smartHlpTemperatureGet( &sh, ¤tTemp, &maxTemp );
//在获取后将maxTemp和currentTemp添加到结构中
diskDataT->currentTemp = currentTemp;
diskDataT->maxTemp = maxTemp;
//以下cout正在正确打印值
cout<<"Temperatures - Current"<<currentTemp<<"Max Temperature ="<<maxTemp<<endl;
//将上述变量声明为的结构
struct diskDataDetailed
{
uint8_t currentTemp;
uint8_t maxTemp;
}
//不打印currentTemp 的值
cout<<diskDataT->currentTemp<<endl;
//以上cout 的输出
$
我不明白我哪里错了。
您已经有了正确的值,但由于它的类型是unsigned char
(即系统中的uint8_t
),因此默认行为是将其打印为字符而不是数字。
正如我上面所说的,用unsigned int
替换uint8_t
会使事情稍微简单一些。否则,您只需要记住在打印之前将值转换为更宽的类型——+
就是这样做的。
相关文章:
- 如何循环打印顶点结构
- 从C++实例化QML
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 如何在c++中为模板函数实例创建快捷方式
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 如何在c++中打印目录
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 所有类实例方法的打印语句最后都在打印吗?
- 如何在实例化类类型的变量时打印其名称
- 在WINDBG中调用C 方法实例并打印结果
- 打印实例化链
- 为什么我的绘图器打印函数的多个实例?C++
- 打印普通变量,但其结构中的实例正在打印"$"
- 在不同实例中,十六进制值通过字符指针使用不同的填充进行打印
- 正在获取ostream模板以打印指针列表中的实例属性
- 重载运算符 std::ostream& 运算符<<打印实例内存地址