请教结构体赋值方法

2019-08-20 16:24发布

结构体定义是这样的:
__packed typedef struct
{
  u8* TCP_Server;    //服务器地址
  u8* TCP_PortNum;    //服务器端口
}_System_Setings;
这样赋值是没有问题的:
        Systemset.TCP_Server="192.168.3.103";//服务器地址
我参考原子大哥源码做了个触摸键盘来设置这个服务器地址,但无法成功赋值,代码如下:
       
u8 IP[16];         //IP缓存;
IP[0]=0;
       key=Get_KeyNum(0,90);
                if(key)
                {  IP[iplen++]=KBD_Tbl[key-1][0];}               
                IP[iplen]=0;
   Show_Str(0,0,200,16,IP,16,0);//在屏上设置的IP能正常显示,但赋值出错!!
       Systemset.TCP_Server=IP;//在屏上设置的IP能正常显示,但赋值出错!!

C语言基础不行,求大家指点迷津,万分感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
flex
1楼-- · 2019-08-20 17:40
 精彩回答 2  元偷偷看……
whyviking
2楼-- · 2019-08-20 19:33
       key=Get_KeyNum(0,90);
                if(key)
                {  IP[iplen++]=KBD_Tbl[key-1][0];}               
                IP[iplen]=0;
这段目的是什么呢?
实际的程序这几句挨着么?
flex
3楼-- · 2019-08-20 21:06
whyviking 发表于 2017-4-16 14:24
key=Get_KeyNum(0,90);
                if(key)
                {  IP=KBD_Tbl[key-1][0];}    ...

触摸屏键值获取,写入IP数组,
whyviking
4楼-- · 2019-08-20 22:03
flex 发表于 2017-4-16 16:25
触摸屏键值获取,写入IP数组,

你把不相关的代码去掉,就用for循环给IP数组赋值,然后再显示试试
flex
5楼-- · 2019-08-21 01:41
whyviking 发表于 2017-4-16 18:13
你把不相关的代码去掉,就用for循环给IP数组赋值,然后再显示试试

IP数组赋值及显示都正常,但数组赋值给结构体中就错误了
flex
6楼-- · 2019-08-21 04:35
 精彩回答 2  元偷偷看……

一周热门 更多>