• 返回函数值实例化参数


    .c文件;

    VOD_REQUEST VODrequest(void)
    {
        unsigned char* message_request="12,1234,192.168.9.98,55051";
        int data_len=4;

          int i;
          printf("++++++++++++++++++++++>>>>>>>>>>>>>>>>>>vodrequest ");
          ////////////////////////////////////////////////////////////string///////////////////////////////////////////////////////
              char str[] = "12,1234,192.168.9.98,55056";//3232237922
           char *p;
           char *buff;
           buff=str;
           p = strsep(&buff, ",");
           int index = 0;
           VOD_REQUEST vr;
           while(p)
           {
             printf("%s---%d ", p,index);

             if(index==0){
                 vr.vod_message_id=p;
             }else if(index==1){
                 vr.train_num=p;
             }else if(index==2){
                 vr.ip_addr=p;
             }else if(index=3){
                 vr.port=atoi(p);
             }
             p = strsep(&buff, ",");
             index++;
           }
          // time(&VOD_REQUEST.start);
          printf("start:%s ",vr.ip_addr);

          vr.start=get_data_time();
         // return vr;
    #if 1
             unsigned char temp[17];
                                       unsigned short crc;
                                       temp[0] = 0x30;
                                       temp[1] =0x02;
                                       temp[2] = 0x03;
                                       temp[3] = 0x04;
                                       temp[4] = 0x01;
                                       temp[5] = 0x00;
                                       temp[6] = 0xF6;
                 struct sockaddr_in dout;
                  socklen_t addr_len;
                  int socket_fd;
                  int rc;
                   //创建套接字
                 socket_fd = socket(PF_INET, SOCK_DGRAM, 0);
                  // 绑定
                  memset(&dout, 0, sizeof(dout));
                  dout.sin_family = AF_INET;
                  dout.sin_addr.s_addr = inet_addr(vr.ip_addr);
                  dout.sin_port = htons(vr.port);
                rc= tcp_sent_vod_request(socket_fd, temp, 7, dout);
                printf("socket_fd==>>%d ",socket_fd);
                printf ("rc:%d ",rc);
               return vr;
    #endif
    }

    .h文件;

    #ifndef VOD_REQUEST_HANDLE_H_
    #define VOD_REQUEST_HANDLE_H_
    #include "Thread_decode_apdu_handler.h"
    //int VODrequest_sent(unsigned char* message_request,int data_len);
    定义函数:
    VOD_REQUEST VODrequest(void);
    定义结构体:
    typedef struct _vod_request_data{

        char *start;
        unsigned char *vod_message_id;
        unsigned char* train_num;
        const char * ip_addr;
        unsigned int port;
        unsigned char* data;
        unsigned int data_len;

    } VOD_REQUEST;

            
    #endif /* VOD_REQUEST_HANDLE_H_ */


    用法:返回函数值实例化参数;
         VOD_REQUEST v = VODrequest();
                unsigned char *vod_message_id=v.vod_message_id;
               unsigned char *train_num=v.train_num;
               char* start=v.start;
               const char *ip_addr=v.ip_addr;
               unsigned int port=v.port;
               unsigned char*data=v.data;
               unsigned int data_len=v.data_len;
               printf("ipaddr:%s ",ip_addr);
               printf("port:%d ",port);

  • 相关阅读:
    奶萨的团队框架(Grid)个人设置技巧以及使用方法
    巫妖王之怒:3.35暗牧输出手法入门指引
    WLK3.3.5治疗怎么玩:治疗职业心得汇总
    WLK奥术fs怎么打高DPS
    战斗贼入门级输出循环
    3.35国服法师DPS提升指引 奥与火的双重奏
    3.35奶萨新手无聊看看帖
    邪冰双手(鲜血领域)——新手推荐,AOE和移动战都不错
    WLK 防骑T
    WLK防骑拉怪手法(要有序排列再给我答案)
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/7784379.html
Copyright © 2020-2023  润新知