将int转换为char数组的最佳方法

Kac*_*łat 3 c++ arrays type-conversion

将数组int放入char数组的最佳方法(性能)是什么?这是我目前的代码:

data[0] = length & 0xff;
data[1] = (length >> 8)  & 0xff;
data[2] = (length >> 16) & 0xff;
data[3] = (length >> 24) & 0xff;
Run Code Online (Sandbox Code Playgroud)

data是一个char数组(共享ptr),lengthint.

Rah*_*thi 6

你在寻找memcpy吗?

char x[20];
int a;
memcpy(&a,x,sizeof(int));
Run Code Online (Sandbox Code Playgroud)

您的解决方案也很好,因为它是endian安全的.

在旁注: -

虽然没有sizeof(int)==4任何特定实施的保证.

  • memcpy endian安全吗? (3认同)