我有了這樣一個定義一個C++頭文件...C++訪問定義宏數據
#define TEMP {0x04,0x06,0xAA,0xBF ...}
如何訪問這些數據在我的C++程序?
例如?假設我想要捕獲單個字節?
如何將名爲x
的uint8_t
型變量分配給TEMP結構中的第三個字節?
uint8_t x = TEMP[2];
?
我有了這樣一個定義一個C++頭文件...C++訪問定義宏數據
#define TEMP {0x04,0x06,0xAA,0xBF ...}
如何訪問這些數據在我的C++程序?
例如?假設我想要捕獲單個字節?
如何將名爲x
的uint8_t
型變量分配給TEMP結構中的第三個字節?
uint8_t x = TEMP[2];
?
宏只是在編譯時粘貼在源代碼中。
所以,你可以做這樣的事情:
char tmp[] = TEMP; // which expands to 'char tmp[] = {0x04, 0x06, ...}'
,然後你使用它,像往常一樣數組。
保持這樣
uint8_t temp[] = TEMP;
數組,這將擴大到
uint8_t temp = {0x04,0x06,0xAA,0xBF};
那麼你可以像這樣訪問
uint8_t x = temp[2];
uint8_t x = std::vector<uint8_t>(TEMP)[2];
的作品,但在粗暴第三值。
你有編碼嗎?你得到了什麼錯誤? – CAB
那不是數據。只是文字。不清楚你的問題是什麼,請澄清! – Olaf