лучший способ сделать это в C ++? станд :: строка

0

Я новичок в 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
    Вы имели в виду const char* e = "a char!"; ?
  • 0
    Не могли бы вы рассказать нам, почему вы хотите хранить такие непечатаемые символы в «строке»?
Теги:
visual-c++

1 ответ

5

Вы можете использовать escape-последовательности, чтобы выполнить это. Что-то вроде следующего должно работать.

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

Если вам нужно инициализировать строку из переменных, вы можете использовать синтаксис инициализации С++ 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;
  • 0
    хороший пример, но я должен использовать переменные с ним.
  • 2
    Такая информация действительно должна быть включена в ваш вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню