我有一个二进制文件,记录了写入其他文件发生的偏移量以及在该偏移量处写入的数据。现在我定义每个日志记录的结构为:
当我将记录写入文件时,我会得到我写入文件的数据长度,因此在分配之前,我会分配空间。
现在我有要写入文件的记录长度...但问题是读取时。我如何为读取的结构分配空间,在fread中记录应该是多大?有点困惑。感谢您的帮助。
struct log_record{
int offset;
char *data;
}
struct log_record t;
当我将记录写入文件时,我会得到我写入文件的数据长度,因此在分配之前,我会分配空间。
t.data = (char*)malloc(sizeof(char)*strlen(buff));/*buf holds the data to be written*/
现在我有要写入文件的记录长度...但问题是读取时。我如何为读取的结构分配空间,在fread中记录应该是多大?有点困惑。感谢您的帮助。