【发布时间】:2013-07-20 12:24:00
【问题描述】:
我在一本书中读到一个程序,其中我们必须使用 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);
我得到一个分段错误。
现在我猜这不是从文件中读取变量的正确方法。 谁能帮我让这段代码正常工作?
【问题讨论】:
-
对不起大家。那是一个错字:)
标签: c structure file-handling