在c++字符串字面量中使用的可接受的自定义转义字符是什么?
What are acceptable custom escape characters for use within C++ string literals
我想在字符串文字中嵌入与"n"answers"a"相同风格的某些信号。我的程序查看字符串,看到转义字符,然后根据它后面的字符采取行动。
然而问题是c++,作为它的编译过程的一部分,解决任何使用""作为转义字符。此外,我经常使用的C标准库也使用"%"作为转义字符。
所以""answers"%"不能同时使用。正斜杠"/"看起来和""太像了,目前,大多数其他字符要么太常用,要么看起来不像转义。
我的问题是,作为转义字符使用的最佳字符是什么,它不会与依赖于自己的转义字符的常见c++字符串实用程序发生冲突。从这个意义上说,"最佳"将客观地描述一个在正常对话和数学中很少使用的角色,并且很容易被一眼识别为逃避。
没有理由不能转义反斜杠(例如\n
)。如果您发现这种类型很难看,请尝试c++ 11中的原始字符串字面值:
R"(hellonfriendabcd)"
注意括号不是字符串的一部分。如果您的字符串将包含)"
,您可以将自己的分隔符放在左括号之前,它必须紧跟着右括号:
R"delim(hellonfriendab)"something)delim"
我最喜欢的转义字符是`
(反号)。为什么?因为它不经常出现在正常文本中,C和c++根本不使用它,它看起来像一个小反斜杠。
我想你通常可以使用'',只要你将它保存为两个字符的字符串,例如''和'n'而不是'n'。
bash使用$
将变量插入字符串:
"Hello $name! How are you?"
Windows cmd使用%表示相同的
"Hello %name%! How are you?
c#使用{}
进行字符串格式化:
String.Format("Hello {0}! How are you?", name)
相关文章:
- 将自定义 QMap 模板实例化以人类可读的形式保存在 QSettings 中
- '_HAS_CXX17'宏是否可用于自定义项目标头以启用C++17 语言集功能?
- 如何使自定义小部件中的子小部件的信号可连接?
- 如何编写一个接受如下断言消息的自定义断言函数:assert(false) << "assertio
- 如何创建可重新创建的自定义要求
- 使自定义范围 v3 视图可管道化
- 如何实现接受参数的自定义流操纵器?
- C++:实现定义了可接受的物理源文件字符
- 运行自定义可执行文件,QProcess 立即退出,退出代码为 1
- LLDB:实现接受用户输入的自定义命令
- 将自定义可绘制对象存储在数组中会导致绘制时出现分割错误
- 当模板重载可用时,检查是否存在函数的自定义重载
- Qt用户可自定义的热键
- 可视的 GNU C++不能创建常量自定义类实例的向量
- 使用图形可视化绘制自定义 BGL 图
- 可视化如何从C++自定义操作获取 MSI 'UILevel'属性
- 可视类型转换自定义 C++ 类
- QT创建者:如何为自定义小部件生成库和测试可执行文件
- 是否可自定义QSortFilterProxyModel::filterAcceptRows以接受函数
- 在c++字符串字面量中使用的可接受的自定义转义字符是什么?