我正在尝试以这种格式转换:
std::string = WORD + "/" + WORD + "/" + WORD;
但是,当我尝试这种方式的问题时,我得到一个奇怪的值,我找不到如何处理这个问题?
std::string = (char)WORD + "/" + (char)WORD + "/" + (char)WORD;
有什么好主意吗?
答案 0 :(得分:5)
您需要将第一个操作数声明为std::string
,因此它可以使用std::string
中声明的operator+()
成员函数:
std::string word = std::string() + WORD + "/" + WORD + "/" + WORD;
如果WORD
不是char*
,std::string
或char
,则应使用std::ostringstream
来处理更多类型(请参阅{{ 3}}):
#include <sstream>
// ...
std::ostringstream stream;
std::string word;
stream << WORD << '/' << WORD << '/' << WORD;
word = stream.str();