【发布时间】:2010-09-08 05:36:37
【问题描述】:
我的 TcpClient 类在其 SendData 方法中接受 vector<char>,如下所示:
void CTcpClient::SendData(const vector<char>& dataToTransmit)
因此,为了使用该函数,我必须将任何内置类型(int、long、short、long long)转换为vector<char>。
我尝试了几种使用流的解决方案,但总是以我想要转换的数字的 ASCII 表示结束(我也尝试使用二进制标志但没有成功)。但我需要数字的二进制值。
例如:
int num = 0x01234567
vector<char> whatIWant = {0x01, 0x23, 0x45, 0x67}
你会建议什么解决方案?
感谢您的帮助!
【问题讨论】:
-
为什么不重载
SendData()来接受内置类型?您还可以重载SendData()以接受“first”和“last”迭代器,以便用户可以使用其他容器。 -
@In silico:我知道我可以重载 SendData() 以接受内置类型。但我想知道的是如何实际转换它们。
标签: c++