这个代码Endian安全吗?

Is this code Endian safe?

本文关键字:安全 Endian 代码      更新时间:2023-10-16

我正在测试代码是否存在可能的端序问题。代码是为ppc编写的,现在需要在x86上运行。

string Mac = nodeMessage->getMac();
char mac_string[17];
strncpy(mac_string, Mac.c_str(),16);

机器的端序影响大于一个字节宽的整型值。我没有看到任何整数值。因此,我没有看到任何与上述代码相关的结尾性问题。

如果你只处理1字节字符(ASCII),那么它的Endian安全,否则它不是。

下面的链接可能会有帮助。

将std::string编码为UTF-16

完成R Sahu的回答,问题可能是nodeMessage以及它如何管理mac(我认为它指的是mac地址)。