u8 idata demo[100]="$GPRMC,023543.00,A,1148.2234,N,11322.09875,E";
u8*date;
date=(u8*)malloc(sizeof(u8));
*date=1; 给date的内容赋值
write_data('5'); //lcd显示5
write_data('5'); //lcd显示5
strcat(demo,date); //连接
write_data('5');
这只是程序的一部分,不过问题就出在strcat上面,下载到单片机后,lcd只会显示两个5,也就是第三个5没有显示出来,程序在strcat这步卡死了,跪求大神解答!!!
------解决方案--------------------
问题出在 strcat(demo,date); //连接
这个函数的使用,这个函数连接的时候要到到'\0'而你的date只有一个字节的字符,虽然把这个字符贴过去了,但是没有'\0'丫会一直找,所以造成越界溢出了
把date弄成2个字节的空间,把"1"送进去,就好了