(-1)*(sizeof( ... ))这部分的问题,这部分计算时先将-1这个负整数转化为sizeof()结果的那个类型(参考类型提升)。可以尝试直接使用负号:-sizeof(...)
fseek() 这句应该这么改: fseek(fp1,-(2*sizeof(struct Info)),SEEK_END);