0

2 つの (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"
}

これを行うための最良の方法について誰かアドバイスをもらえますか? std::strings を使用しないでください。私はchar配列を好むでしょう。

前もって感謝します

4

2 に答える 2

6

あなたが採用することができますstrstream

char v[255] = {};
{
  std::strstream vs(v, 254);
  vs << major << '.' << minor;
}
setVersion(v);
于 2012-06-30T14:15:18.770 に答える
0

これを行う別の方法があります。

snprintf(charArray, sizeof(charArray), "%d.%d", major, minor);

// Please check the correctness for format specifier and verify the return 
// value too.

Windowsプラットフォームを使用している場合は、を使用して_snprintf_sください。

于 2012-06-30T14:16:38.287 に答える