我想使用下面的代码根据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字符表示为要拆分的字符串?
答案 0 :(得分:3)
如评论中所述,您可以使用十六进制序列来表示字符。通过利用宏来定义字符和字符串文字串联以将多个字符串转换为单个字符串,可以使代码更具可读性:
#define SOH "\x01"
#define TAB "\t"
boost::split(strs, "string to split", boost::is_any_of(TAB " " SOH));