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

0 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);
Run Code Online (Sandbox Code Playgroud)

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

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

Cap*_*ous 5

您可以使用转义序列来完成此任务.像下面这样的东西应该工作.

std::string myString("\x01\x02\x03\xffa char");
Run Code Online (Sandbox Code Playgroud)

如果需要从变量初始化字符串,可以使用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;
Run Code Online (Sandbox Code Playgroud)

  • 这类信息_really_需要包含在你的问题中. (2认同)