满意答案
asasaq5454
2016.03.09
采纳率:43% 等级:10
已帮助:270人
12345678910111213141516171819201、你对数组的理解没有问题。如下:#include #include int main(){ char uread[250]="DEVICE_7"; printf("The number is %c\n", uread[7]); return 0;}输入结果:The number is 72、清空一整个char uread[250];在定义时清空: char uread[250] = {0};在定义后清空: memset(uread, 0, sizeof(uread));3、char uread[0]='\0';这种清空方法只能保证判断uread是否为空,如:printf("%s",uread);不会出现越界问题。但不能保证strncpy等方法拷贝不出问题。如:strncpy(uread, "asdfg", 2);这就会导致uread没有字符串结束符,越界,必须另外加一行代码主动赋值'\0',如:uread[2]='\0'; 希望能帮助到你,你的好评是我前进的动力!谢谢!追问: 谢谢你的回复!因为我在想 是不是因为我在用串口,才导致接收后面的character不稳定 接收不到??
追答:串口传输应该也没有问题,以前我也做一些串口开发。你可以使用调试工具调试一下,如果接收端有显示器或硬盘,可以把接收的值输出或保存文件。
如果数据量不大,串口传输建议使用应答模式,以保证数据的完整性。
00分享举报