c++程序对big_endian检查没有输出
No output in c++ program for big_endian check
我正在用c++做实验,我决定尝试is_big_endian代码,就像我在C中做的一样。然而,当我试图打印出指针的值时,我没有得到任何输出。我尝试了C和c++风格的强制转换。我做错了什么?
#include <iostream>
using namespace std;
int main (void){
int num = 1;
char *ptr = (char *)#
//char *ptr = reinterpret_cast<char *>(&num);
cout << "Value is: " << *ptr << endl;
}
operator<<
看到您正在输出char
,因此它将其作为字符打印,而不是作为数字打印(就像在C中您在printf
中写%c
而不是%d
一样);并且由于*ptr
将为0或1,因此在这两种情况下,您最终都会得到一个不可打印的字符。
要解决这个问题,显式地将*ptr
转换为int
:
cout << "Value is: " << int(*ptr) << endl;
相关文章:
- 素数检查 C++ 函数输出非素数的数字
- VS Studio C++奇怪的输出(质数检查)
- 为什么我们总是检查输入是否失败而不检查输出
- 如何检查输出流是否为 std::cout in C++
- 我正在尝试检查可接受的身高和体重,并让 c++ 编译器输出候选人被拒绝的原因
- 在数组中输入5个元素,检查验证,然后输出C++
- 运行时检查失败 #2,AND 数组值与输出交换不正确
- fflush-如何检查上次操作是否为输出操作
- C++检查文件是否存在,如果存在,则更改输出
- 与实际内存内容相比,GDB 内存检查输出偏差 8 个字节
- 文件输出中的简单错误检查
- 顺序我正在检查输出错误的字符串
- 检查字符串的typeinfo时出现奇怪的输出
- 正在检查CppUnit中的打印输出
- 检查阵列输出
- 如何在 Linux 中检查正在运行的进程版本读取"ps aux"输出
- 编译时检查输出(<<)和关系(<、>等)是否可用
- 检查原始文件的输出
- c++单元测试检查输出是否正确
- 检查输出顺序是否正确