【问题标题】:Convert String to hex little endian format in C++在 C++ 中将字符串转换为十六进制小端格式
【发布时间】:2012-07-21 17:40:16
【问题描述】:

我有一个字符串 2290348 我需要它显示为 ACF22200 (little endian)

因为输入 2290348 是通过文本框中的表单传入的,所以我尝试将其读取为字符串(例如 this->textBox1->Text)并将其转换为 int(例如 Convert::ToInt32(this->textBox1->Text))。 之后,我通过ToString("x") 将其转换为十六进制,我设法得到 22F2AC 我将 00 附加到 22F2AC 并得到 0022F2AC 仍然作为字符串 现在我被困在将 0022F2AC 转换为 ACF22200

【问题讨论】:

    标签: string c++-cli hex int endianness


    【解决方案1】:

    虽然仍然是 int,但您可以使用例如htonl 将其转换为“网络”字节顺序。

    #include <winsock2.h>
    
    int main()
    {
        unsigned int x = 0x22F2AC;
        printf("x = 0x%08x\n", x);
        printf("htonl(x) = 0x%08x\n", htonl(x));
        return 0;
    }
    

    上面的程序打印:

    x = 0x0022f2ac htonl(x) = 0xacf22200

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-31
      • 2013-07-12
      • 1970-01-01
      • 2022-07-08
      • 2022-07-22
      • 2016-03-06
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多