gpt4 book ai didi

c - 如何将具有字符指针的 C 结构插入 DBD 文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:12 24 4
gpt4 key购买 nike

我正在将我制作的文件系统更改为 DBD。

而且我别无选择转换具有字符点成员的结构将这些结构插入到 DBD 文件中

例如,如果有如下结构

typedef struct
{
int IndexKey;
int groupID;
char* name;
char* pNum;
char* pAddr;
char* pMemo;
} TsomeRec;

我做了一个结构来转换如下

typedef struct
{
int IndexKey;
int groupID;
char name[MAX_NAME_LEN];
char pNum[MAX_NUM_LEN];
char pAddr[MAX_ADDR_LEN];
char pMemo[MAX_MEMO_LEN];
} TsomeRec2;

但是,要转换的结构太多了。

因此,考虑到性能,我正在寻找将这些结构插入 DBD 文件的最有效方法。

坦白说,我并不精通。请尽可能具体地描述。

谢谢~

最佳答案

如果要插入以下结构:

struct S
{
char* string1;
char* string2;
}



char* p=malloc( (sizeof(size_t) + strlen(s.string1)+ sizeof(size_t) + strlen(s.string2));
size_t i=0;
size_t len1=strlen(s.string1);
memcpy(&len1,&p[i],sizeof(size_t)); i+=sizeof(size_t);
memcpy(&s.string1,&p[i],strlen(s.string1)); i+=strlen(s.string1);
size_t len2=strlen(s.string2);
memcpy(&len2,&p[i],sizeof(size_t)); i+=sizeof(size_t);
memcpy(&s.string2,&p[i],strlen(s.string1)); i+=strlen(s.string2);

然后,使用“p”将您的 key /数据存储到 BDB 中并释放(p)

读取,返回数据,读取字符串的大小,分配所需的内存并读取字符串本身

关于c - 如何将具有字符指针的 C 结构插入 DBD 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com