gpt4 book ai didi

c++ - 将结构传递给函数

转载 作者:太空狗 更新时间:2023-10-29 23:46:10 25 4
gpt4 key购买 nike


这个有效:

struct client {
string address;
int toPay;
int id;
};

int main() {
struct client clients[10];
...
file.read( (char*)&clients, sizeof (clients) );
}

我想做的是在一个函数内做这些事情。

但是我必须如何将结构传递给函数呢?

如果我像这样传递它,则读取不起作用:

void newFunction ( struct client *clients_t) {
...
file.read( (char*)&clients_t, sizeof (clients_t) );
}

最佳答案

这是行不通的,因为 string 数据没有嵌入到 struct 中。相反,它有几个指向字符串内容的指针。这就是为什么 file.read( (char*)&clients...) 不会产生有效结果的原因:string 将指向保存 string 一旦指向,但它不再代表感兴趣的数据。

如果您想像这样序列化数据,请将整个 char 数组嵌入到 struct 中,但明显的限制是数字有上限字符和一些浪费的空间。

关于c++ - 将结构传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403883/

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