1.Ubuntu下和pc下的编码格式有差异,所以当pc下的回车符(CR-29<16进制>)
2.现象如下:字符串原本顺序乱序,打印字符串内部字节查看:
字符串字节打印
char *ptr = (char *)stroutinfo_;
int print_bytes = 0;
while(print_bytes < 45)
{
printf("%02x %d\n", *ptr,print_bytes+1);
ptr++;
print_bytes++;
}
若字节中有0d出现,则对应归位符号cr,可查看ascii码表,链接:http://ascii.911cha.com/
3.删除cr字符,可在arm下使用命令dos2unix;或者在代码内循环判断,如果出现0d或者oa(换行符),将字符值设置为结束符0,即可。