ove*_*ore 2 c embedded null printf microchip
我正在为嵌入式目标Microchip PIC24编写C代码,由于某种原因,运行时libc无法通过串行端口正确发送\ 0值.
printf("\xEE\xEE\0test");
Run Code Online (Sandbox Code Playgroud)
例如,发送EE EE"test",忽略空字节.
有谁知道为什么会这样?
编辑:嗯,没关系XD.我用put来发送字符串.. doh'
空字符是C中的字符串终止符, printf因为\0它是字符串的结尾.使用putchar()或printf()使用格式字符串可能有效:
printf("%c", '\0');
Run Code Online (Sandbox Code Playgroud)
如果你0xEE 0xEE test按照你的建议上线,你确定test它不是来自不同的printf电话吗?
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |