小编rex*_*rex的帖子

将struct转换为char*并返回

我试图将我的结构转换为char*,然后返回到结构.但我想我错过了一些东西.一旦它返回到struct,结构的只有一个属性是正确的.其余的都错了.这是我的代码.

#include <iostream>

using namespace std;

struct INFO {
    unsigned char a;
    int b;
    int c;
    char g[121];
}inf;



int main () {
    char frame[128];

    INFO test1 = INFO();
    test1.a='y';
    test1.b=4000;
    test1.c=9000;
    strcpy(test1.g, "Goodbye World");

    sprintf(frame,(char*)&test1);

    INFO test2 = INFO();
    memcpy((char*)&test2, frame, sizeof(frame)); //shouldn't test2 have test1 values?

    cout << test2.a<<"\n";
    cout << test2.b<<"\n";
    cout << test2.c<<"\n";
    cout << test2.g<<"\n";
    getchar();
    return 0;
  }
Run Code Online (Sandbox Code Playgroud)

输出:

y
-858993460
-858993460
????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

只有test2.a是正确的.我将它转换为char*错误,还是我将其转换回来的方式?谢谢

c++ struct char

5
推荐指数
1
解决办法
2万
查看次数

涉及空集的函数依赖

我试图用FD来掌握空集的概念.说我有

R(A,B,C,D)

A-> E
B-> C
B-> D
Run Code Online (Sandbox Code Playgroud)

其中E是空集,从我的理解,这是一个微不足道的FD,因为你从A中学到了什么新东西.但是当你有

E-> A
B-> C
B-> D
Run Code Online (Sandbox Code Playgroud)

这究竟是什么意思?它只是"没有什么意味着A",所以A可以在定义的域中拥有它想要的任何值,还是A必须是NULL值?

database database-design functional-dependencies

2
推荐指数
1
解决办法
1127
查看次数