在c ++中更好的方法吗?的std :: string

时间:2013-12-27 03:06:26

标签: c++ visual-c++

我是c ++的新手并且学习std:string但我不禁想到下面有更好的方法...

BYTE a = 0x01;
BYTE b = 0x02;
BYTE c = 0x03;
WORD d = 0xFF;
char* e = "a char!";

std::string myString;

myString.append(a, 1);
myString.append(b, 1);
myString.append(c, 1);
myString.append(d, 2);
f = strlen(e);
myString.append(e, f);

是否有更快更好的方法在visual c ++中执行上述操作?

我正在使用visual studio 2010,必须使用变量,任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:5)

您可以使用escape sequences来完成此操作。以下内容应该有效。

std::string myString("\x01\x02\x03\xffa char");

如果需要从变量初始化字符串,可以使用C ++ 11的大括号初始化语法。

char a = 0x01;
char b = 0x02;
char c = 0x03;
char d = 0xFF;
const char* e = "a char!";

std::string myString{ a, b, c, d};
myString += e;