C++ 忽略字符串中的 \x,如何使其成为纯文本?

C++ ignore \x inside string, how to make it plain text?

我对字符串中的 \x 有疑问。 我怎样才能使 sprintf_s 只接受单个 \x(将其作为纯文本?,编译器不只接受“\x”),并使用以下代码我的 const char* 内部有一个双反斜杠...

sprintf_s(buf, "\x%02X")

; -> 输出是 \\0xA0,应该只是 \xA0

谢谢

Visual Studio 调试器显示反斜杠,因此您转义的内容没有歧义。如果您复制该值,您将引用它。如果您插入引号,它将在调试器显示中被反斜杠。

"\x7B\""

外边的两个引号是用来表示包含值的。这将在内存 window 中显示为

\x7B"

是的,在带引号的字符串中 \x 是错误的。

这里是合法的escape sequences.