介绍一种比较简单的方法(先转换成string,然后再准换成byte[])
//需要添加引用System.Web.Extensions.dllusing System.Web.Script.Serialization
List<string> list = new List<string> { "a", "b", "c" }
//这个类,需要引用命名空间
JavaScriptSerializer js = new JavaScriptSerializer()
string data = js.Serialize(list)
byte[] bytes = Encoding.UTF8.GetBytes(data)
jq为byte[]字段赋值,也可以这样做。
你先把jq的值,保存在一个隐藏域中,然后再后台读取这个隐藏域的值,然后用
Encoding.UTF8.GetBytes(data)
这个实质是内存内容复制的问题,最简单的方法是调用系统的memcpy函数。
函数原型如下:
void *memcpy(void *dest, const void *src, size_t n)
2.功能
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
3.所需头文件
C语言:#include<string.h>
C++:#include<cstring.h>
4.返回值
函数返回指向dest的指针。
比如结构体Struct pNode{BYTE* p;
public:
pNode{
p = NULL;
}
~pNode{
if(!p){
delete p;
p = NULL;
}
}
}
添加的话
{
pNode* pTemNode = new pNode
Mylist.AddTail(pTemNode)
}
如果让添加的结构体中的指针要指向数据,直接开辟一片内存,让他指向就okay了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)