【发布时间】:2014-08-21 10:52:40
【问题描述】:
我有一个文本渲染器,它使用字符串中的负字符值以我制作的字体呈现自定义符号,而不是常规的 ascii 文本。
text.write("Hello! _"); // insert a heart at the underscore somehow...
// the heart's value is char -10
有没有办法得到一个负的 char 值,静态地写在双引号内?或者有没有办法在引号之外做到这一点,但仍然作为字符串文字?
编辑:
为了澄清一点,不幸的是,在这种特殊情况下,我必须使用 char 数组。代码内部使用std::string,所有正值均采用标准ascii字形。我的目标是能够在字符串文字中注入一个负数来表示额外的符号。所以以下是正确的:
const char * literal = "a literal w/ a negative char value as the 10th element"
literal[9] == -10; // would be true
【问题讨论】:
-
Alt 3 给了你心脏:♥,也许你可以将它存储为一个字符串并用该字符串替换所有 '_' 字符。但是,这取决于您的代码文件的编码是否可行。
-
@invalid_id - 不幸的是,在这种情况下,额外的符号,如心形和东西,不符合任何标准,因为我制作了字体,但很高兴知道! ♥
-
不确定我是否理解,但您可以使用转义序列:
"Hello \u2665" -
我认为是
\xf5(f5是十六进制的256 - 10)。 -
@Marco - 有没有办法让它成为负数?我会尝试一下 zch 的建议,让我看看