当前位置: 代码迷 >> 单片机 >> strcat使用要注意什么,小弟我用的是keil,下载到单片机里面出了一个有关问题,如下
  详细解决方案

strcat使用要注意什么,小弟我用的是keil,下载到单片机里面出了一个有关问题,如下

热度:54   发布时间:2016-04-28 15:15:43.0
strcat使用要注意什么,我用的是keil,下载到单片机里面出了一个问题,如下:
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"送进去,就好了
  相关解决方案