为什么使用\“%s \”时sprintf不起作用?

时间:2019-09-20 13:22:31

标签: c

我将sprintf与IMXRT1021 NXP微控制器一起使用,但未获得所需的输出。

库:Redlib(nohost-nf)

我已经尝试过两种方法,但是结果是相同的。

sprintf(at,"AT=\x22%s\x22,\x22%s\x22\r\n","abcdef","123456");

sprintf(at,"AT=\"%s\",\"%s\"\r\n","abcdef","123456");

预期输出:

AT="abcdef","123456"\r\n

实际输出:

AT=\"abcdef\",\"123456\"\r\n

1 个答案:

答案 0 :(得分:5)

这取决于您在说什么。

如果要将其输出到终端,则将看到的字符串是您期望的字符串:

AT="abcdef","123456"   # plus newline etc.

但是,该字符串的C 表示形式为:

"AT=\"abcdef\",\"123456\"\r\n"