gpt4 book ai didi

c++ - big_endian 检查的 c++ 程序中没有输出

转载 作者:太空宇宙 更新时间:2023-11-04 16:13:51 24 4
gpt4 key购买 nike

我正在试验 C++,我决定尝试 is_big_endian 代码,就像我在 C 中做的一样。但是,当我尝试打印出指针的值时,我没有得到任何输出。我尝试了 C 和 C++ 风格的转换。我做错了什么?

#include <iostream>

using namespace std;

int main (void){
int num = 1;
char *ptr = (char *)&num;
//char *ptr = reinterpret_cast<char *>(&num);

cout << "Value is: " << *ptr << endl;
}

最佳答案

operator<<看到您正在输出 char , 所以它将它打印为一个字符,而不是一个数字(就好像你在 C 中写了 %c 而不是 %d 中的 printf );自 *ptr将是 0 或 1,在这两种情况下你都会以不可打印的字符结束。

要解决此问题,请显式转换 *ptrint :

cout << "Value is: " << int(*ptr) << endl;

关于c++ - big_endian 检查的 c++ 程序中没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25090342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com