我有一个字符指针,需要用这个指针在内存中存储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/

10-10 05:07