小编Dee*_*ary的帖子

将char*转换为struct

这里的代码中,有一行:

struct iphdr * iph = (struct iphdr *)buffer;
Run Code Online (Sandbox Code Playgroud)

ProcessPacket函数where buffer类型char*.buffer已经recvfrom在主函数中给出了值.如何将简单的string(buffer)转换为结构以及如何安全地提取数据?

iphdr:

struct iphdr {
    #if defined(__LITTLE_ENDIAN_BITFIELD)
        __u8    ihl:4,
                version:4;
    #elif defined (__BIG_ENDIAN_BITFIELD)
        __u8    version:4,
                ihl:4;
    #else
        #error  "Please fix <asm/byteorder.h>"
    #endif
         __u8   tos;
         __u16  tot_len;
         __u16  id;
         __u16  frag_off;
         __u8   ttl;
         __u8   protocol;
         __u16  check;
         __u32  saddr;
         __u32  daddr;
         /*The options start here. */
};
Run Code Online (Sandbox Code Playgroud)

c c++ sockets

3
推荐指数
1
解决办法
993
查看次数

标签 统计

c ×1

c++ ×1

sockets ×1