所以给定一个包含 100 个字节的二进制文件。我很确定 INVALID 应该导致错误,但为什么不呢?我很困惑,一次 INVALID 应该会引发语义错误,对吗?还是我误会了什么
/* VALID */ fseek(fp, sizeof(char) * 2, SEEK_SET);
/* VALID */ fseek(fp, -2 * sizeof(char), SEEK_END);
/* INVALID */fseek(fp, sizeof(char)* 2, SEEK_END);
/* INVALID */fseek(fp, -2 * sizeof(char), SEEK_SET);
/* INVALID */fseek(fp, 50, SEEK_CUR);
/* VALID */ fseek(fp, -50, SEEK_CUR);
/* INVALID */ fseek(fp, 51, SEEK_CUR);
/* INVALID */ fseek(fp, -51, SEEK_CUR);