【问题标题】:Represent ASCII EOH character as string?将 ASCII EOH 字符表示为字符串?
【发布时间】:2013-09-06 19:00:19
【问题描述】:

我想使用下面的代码根据 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

【问题讨论】:

  • 将其设为“\t \x1”。在您最喜欢的 C 或 C++ 教科书中阅读转义序列。
  • 使用"\x01"作为分隔符。

标签: c++ boost ascii


【解决方案1】:

正如 cmets 中所说,您可以使用十六进制序列来表示字符。您可以利用宏来定义字符和字符串字面量连接,从而将多个字符串转换为一个,从而使您的代码更具可读性:

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

boost::split(strs, "string to split", boost::is_any_of(TAB " " SOH));

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 2010-11-13
    • 1970-01-01
    • 2017-06-29
    • 2020-12-31
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多