-4
(uint32_t header; char array [32];) 如何將數據從頭文件複製到C++數組中?如何進行這種轉換?我嘗試了類型轉換,但它似乎不起作用。我應該如何將uint32_t值轉換爲大小爲32的char數組?
(uint32_t header; char array [32];) 如何將數據從頭文件複製到C++數組中?如何進行這種轉換?我嘗試了類型轉換,但它似乎不起作用。我應該如何將uint32_t值轉換爲大小爲32的char數組?
使用std::bitset得到的二進制表示,轉換至字符數組:
#include <iostream>
#include <cstdint>
#include <bitset>
int main()
{
std::uint32_t x = 42;
std::bitset<32> b(x);
char c[32];
for (int i = 0; i < 32; i++)
{
c[i] = b[i] + '0';
std::cout << c[i];
}
}
這將類似於一個小端表示。
'uint32'是32位。 'char [32]'是32 * 8位。所以問題是,你究竟在嘗試做什麼?你怎麼看待這樣的轉換應該發生? – Assimilater
我其實想把uint32的數據以字符數組的形式存放 – user8158123
的大小可以相應地調整一下 – user8158123