将两个整数值连接到一个char数组中

use*_*456 0 c++

我试图提取两个(int32_t)值,并将它们放在一个char数组中.

int32_t version = getVersion();

if (version < 0)
{
    return;
}
else
{
    //first part of number needs to be shifted right
    int32_t major = (((version) >>16) & 0xFFFF);
    int32_t minor = ((version) & 0xFFFF);

    // need to concatenate these two values, and place a "." between them

    setVersion(...);//requires a char array, should for example be "1.1"
}
Run Code Online (Sandbox Code Playgroud)

谁能给我任何关于最佳方法的建议呢?请不要使用std :: strings.我更喜欢char数组.

提前致谢

Joh*_*itb 6

你可以雇用 strstream

char v[255] = {};
{
  std::strstream vs(v, 254);
  vs << major << '.' << minor;
}
setVersion(v);
Run Code Online (Sandbox Code Playgroud)