fseek与结构体,,

img


这里我想拿到最后一个结构体,先把文件指针定位在文件末尾处,然后往后偏移一位拿到它,但是为什么一加负号就报这个错误,这里应该怎么偏移好

(-1)*(sizeof( ... ))这部分的问题,这部分计算时先将-1这个负整数转化为sizeof()结果的那个类型(参考类型提升)。可以尝试直接使用负号:-sizeof(...)

fseek() 这句应该这么改: fseek(fp1,-(2*sizeof(struct Info)),SEEK_END);