如何在D语言中将struct执行到ubyte []ubyte []到struct,请兄弟帮忙解答这个问题,谢谢!

如果结构体包含 stringchar [] 怎么办?

例如,这样的结构:

struct UserLogin
{
    align(1):
      ushort ClientId;
      int AccectId;
      string LoginUid;
      string LoginPwd;
}

注意我在socket中的应用!

最佳答案

要转换原始数据,建议的习惯用法是这样的:

struct_type* s = new struct_type;
ubyte[] ub = cast(ubyte[]) s[0..1];
struct_type* s2 = cast(struct_type*) ub.ptr;

但是,这不会处理字符串和指针的序列化。您需要手动或使用库来执行此操作。

关于d - struct to ubyte[] 或 ubyte[] to struct for d 语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9444814/

10-10 17:48