Представлять ASCII EOH символ в виде строки?

Я хотел бы использовать код ниже, чтобы разбить строку на основе символа ASCII "Начало заголовка" (SOH):

#include <boost/algorithm/string.hpp>
std::vector<std::string> strs;
boost::split(strs, "string to split", boost::is_any_of("\t "));

Как видите, разделитель представлен строкой "\ t". Как мне представить символ SOH как строку, на которую нужно разделить?

http://www.asciitable.com/index/asciifull.gif

1 ответ

Решение

Как сказано в комментариях, вы можете использовать шестнадцатеричную последовательность для представления символа. Вы можете сделать свой код немного более читабельным, используя макросы для определения конкатенации букв и букв, чтобы превратить несколько строк в одну:

#define SOH "\x01"
#define TAB "\t"

boost::split(strs, "string to split", boost::is_any_of(TAB " " SOH));
Другие вопросы по тегам