我有了这样一个定义一个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