如何将WORD +“/”+ WORD +“/”+ WORD转换为std :: string

时间:2014-02-24 21:43:50

标签: c++ string

我正在尝试以这种格式转换:

std::string = WORD + "/" + WORD + "/" + WORD;

但是,当我尝试这种方式的问题时,我得到一个奇怪的值,我找不到如何处理这个问题?

std::string = (char)WORD + "/" + (char)WORD + "/" + (char)WORD;

有什么好主意吗?

1 个答案:

答案 0 :(得分:5)

您需要将第一个操作数声明为std::string,因此它可以使用std::string中声明的operator+()成员函数:

std::string word = std::string() + WORD + "/" + WORD + "/" + WORD;

如果WORD不是char*std::stringchar,则应使用std::ostringstream来处理更多类型(请参阅{{ 3}}):

#include <sstream>
// ...
std::ostringstream stream;
std::string word;

stream << WORD << '/' << WORD << '/' << WORD;
word = stream.str();