字符串与16进制判断的问题,发送时,不发送\0,最后再发送0D0A |
可以用while (*str!='\n')退出循环 |
<CR><LF>是回车换行符,字符值是0x0A,0x0D; \0是字符串结束符,值是0x00;想跳出循环,判断条件可以显而易见了 |
可以检测字符是否是 '\r' 和'\n'。 while( (buf[i] != '\n') && (buf[i-1] != '\r')) |
你这是把两个问题弄混淆了,NMEA协议是串口,以\r\n作为结束标志,里面并没有\0这个字符。 但是你要把NMEA一条指令放在c语言里面当成字符串存储,\r\n后面要跟一个\0作为字符串结束标志。 完全是两个风马牛不相及的东西。 |