我有一个字符指针,需要用这个指针在内存中存储2字节的值。
试过这个
*dataConfigured = configuredParameterCount;
*++dataConfigured = configuredParameterCount << 8;
除了这个还有更好的代码吗?
最佳答案
假设configuredParameterCount
的类型是short
(2字节),您可以简单地执行此操作
*((short*)dataConfigured) = configuredParameter;
但一定要确保
dataConfigured
所指的缓冲区有足够的空间。正如@Calvin所指出的,这可能会在某些计算机体系结构上造成问题(尽管它可以在最常见的体系结构上工作,如x86和x64)。但是如果你想在所有的架构上
memcpy
是更安全的赌注(更慢但更安全)。关于c++ - 使用字符指针存储整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21873641/