怎么将结构体的数据放进一个数组里面
如何将结构体的数据放进一个数组里面?C/C++ code#includeiostreamusing namespace stdstruct A{int ac
如何将结构体的数据放进一个数组里面?
C/C++ code#include<iostream>using namespace std;struct A{ int a; char b;};void main(){ A *t; t=(A*)malloc(sizeof(A)); t->a=2; t->b='a'; void buf; buf=(A*)malloc(sizeof(A)); memcpy(buf,t,2); cout<<buf; }
这是我写的代码,想将一个结构体的数据放进一个数组,然后再将数组内容打印出来
我期待的是输出2a
请问要怎么修改
我这样写报错了
[解决办法]#include<iostream>
#include<cstring>
using namespace std;
struct A{
public:
int a;
char b;
};
int main()
{
A *t;
t=(A*)malloc(sizeof(A));
t->a=2;
t->b='a';
void* buf;
buf=(A*)malloc(sizeof(A));
memcpy(buf,t,sizeof(*t));
cout<<((A*)buf)->a<<((A*)buf)->b<<endl;
return 0;
}
这里是把A指向的内容,按字节拷贝给buf,然后输出。
void * memcpy ( void * destination, const void * source, size_t num );
最后一个参数是指拷贝的字节数 参考http://www.cplusplus.com/reference/clibrary/cstring/memcpy/