这段代码Endian安全吗?

时间:2015-07-30 06:10:48

标签: c++ endianness

我正在测试可能的Endian问题的代码和平。代码是为ppc编写的,现在需要在x86机器上运行。

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

3 个答案:

答案 0 :(得分:4)

机器的字节序会影响超过一个字节宽的整数值。我没有看到任何整数值。因此,我没有看到与上述代码相关的任何Endian-ness问题。

答案 1 :(得分:1)

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

以下链接可能会有所帮助。

Encode/Decode std::string to UTF-16

答案 2 :(得分:0)

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