zoukankan      html  css  js  c++  java
  • 返回函数值实例化参数

    .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);

  • 相关阅读:
    Codeforces Round #201 (Div. 2)C.Alice and Bob
    1126. Magnetic Storms(单调队列)
    URAL1501. Sense of Beauty(记忆化)
    poj1026Cipher(置换群)
    怎样查看MySql数据库物理文件存放位置
    冒泡排序、选择排序、二分查找排序
    java中的数组的Arrays工具类的使用
    可变参数及其特点
    猜拳游戏项目(涉及知识点Scanner、Random、For、数组、Break、Continue等)
    java中使用nextLine(); 没有输入就自动跳过的问题?
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/7784379.html
Copyright © 2011-2022 走看看