Почему sprintf не работает при использовании \ "% s \"? - PullRequest
5 голосов
/ 20 сентября 2019

Я использую 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 Ответ

5 голосов
/ 20 сентября 2019

Это зависит от того, о чем вы говорите.

Если вы выводите это в терминал, вы увидите строку, которую вы ожидали:

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

Однако,C представление этой строки:

"AT=\"abcdef\",\"123456\"\r\n"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...