请问一下,如果我想用socket发送一个结构体,结构体可以定义什么类型的?long int和byte和char都可以吗?
如果是money格式的数据,是不是应该转换为字节数组,在传送!!

解决方案 »

  1.   

    long int和byte和char都可以.
    money格式的数据我没试过,最好转换为字节数组(可用char*),具体实现可用memcpy函数来转。
      

  2.   

    send( Write_FDSet.fd_array[i], (char *)&tempData, sizeof(struct sendData), 0 ) ;
      

  3.   

    貌似int、long、BYTE、char及其数组这些都可以,但是CString,char*就不行,
    money格式应该可以吧
      

  4.   

    CString当然不行,无论你的Cstirng保存了什么内存sizeof都是固定的,我机器是32Byte。显然CString只保存了真正保存内容的内存地址,发到两外一端当然显示不了内容了,char*同理
      

  5.   

    什么类型都行,但是像short、int、long这种多自己的要进行网络字节序转换htons、htonl