11

C++ を使用して unsigned short から string に変換するにはどうすればよいですか? 私は2つの符号なし短い変数を持っています:

    unsigned short major = 8, minor = 1;

文字列でそれらを結合したいのですが、次のようになります。

    std::string version = major + "." + minor;

どうすればできますか?小さなサンプル コードを提供します。

ありがとう

4

4 に答える 4

19

std::stringstreamまたはstd::to_string (C++11) または boost::lexical_castを使用できます

#include<sstream>

std::stringstream ss;
ss << major  << "." << minor;

std::string s = ss.str();

std::to_string:

std::string s = std::to_string(major) + "." +std::to_string(minor);
于 2013-02-14T09:20:47.180 に答える
3

C ++ 11では、これを行うためのストリームは必要ありません。

std::string version = std::to_string(major)
              + "." + std::to_string(minor);
于 2013-02-14T09:22:20.627 に答える
0
std::ostringstream oss;
oss << major << "." << minor;

生成された文字列を 経由で受け取りますoss.str()

于 2013-02-14T09:20:28.703 に答える
0

を使用しstd::ostringstreamます。ヘッダーを含める必要があります<sstream>

std::ostringstream ss;
ss << major << "." << minor;

std::cout << ss.str();
于 2013-02-14T09:21:12.263 に答える