gpt4 book ai didi

c - 从文件中读入变量

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:52 25 4
gpt4 key购买 nike

我在一本书中读到一个程序,其中我们必须使用 fread 和 fwrite 读取结构并将其写入文件。

struct Address {
int id;
int set;
char *name;
char *email;
}

struct Database {
int rows; //number of rows
struct Address *row; //pointer to a row in the database
}

struct Connection {
FILE *fp;
struct Database *db
}

我为所有结构分配内存并初始化 id 的值,并在地址结构和数据库结构中的行中设置值。

然后我将结构写入文件。

int fc = fwrite(conn->db, sizeof(*conn->db->row) * number + sizeof(int), 1, conn->fp);
if(fc != 1) printf("Error");

现在我试图从文件中读取 conn->db->rows 的值

int fc = fread(&conn->db->rows, sizeof(int), 1, conn->fp);

我遇到了段错误。

现在我猜这不是从文件中读取变量的正确方法。谁能帮助我使这段代码正常工作?

最佳答案

我猜你还没有读过关于 fread 的文档。
请在 man fread 查看

像这样将文件读入缓冲区

int fc = fread(ptr, sizeof(int), 1, fp);

ptr是指向文件内容读入内存的指针。

关于c - 从文件中读入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17762228/

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