[英]Why does sprintf not work when \“%s\” is used?
我將 sprintf 與 IMXRT1021 NXP 微控制器一起使用,但沒有獲得所需的 output。
庫: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");
預期 output:
AT="abcdef","123456"\r\n
實際 output:
AT=\"abcdef\",\"123456\"\r\n
這取決於你在說什么。
如果您要將 output 輸入終端,您將看到的字符串就是您所期望的:
AT="abcdef","123456" # plus newline etc.
但是,該字符串的 C表示為:
"AT=\"abcdef\",\"123456\"\r\n"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.