Представлять 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 как строку, на которую нужно разделить?
1 ответ
Решение
Как сказано в комментариях, вы можете использовать шестнадцатеричную последовательность для представления символа. Вы можете сделать свой код немного более читабельным, используя макросы для определения конкатенации букв и букв, чтобы превратить несколько строк в одну:
#define SOH "\x01"
#define TAB "\t"
boost::split(strs, "string to split", boost::is_any_of(TAB " " SOH));