来源:互联网
2023-05-05 00:54:29
【资料图】
1、一、根据你写入的方法可知,每个数都会占8个字节( fprintf(in,"%8d ",x); ) fseek( in , (-1)*8 , SEEK_END); 这时,就会移动到倒数第一个数的开始位置 fseek( in , (-2)*8 , SEEK_END); 这时,就会移动到倒数第二个数的开始位置 。
2、 可知: fseek( in , 8*(-n) , SEEK_END ); 这时,就会移动到倒数第n个数的开始位置 fseek( in , 8*(-1) , SEEK_CUR ); 从当前位置向前移动一个数 。
3、 可知: fseek( in , 8*(-n) , SEEK_CUR ); 从当前位置向前移n一个数 因此: fseek( in , 8*(-5) , SEEK_END ); fscanf(in, "%d",&a); printf("%8d",a); fseek( in , (-5)*8 , SEEK_CUR ); //再向前移动5个 fscanf(in, "%d",&a); printf("%8d",a); 可实现你的想法。
本文到此分享完毕,希望对大家有所帮助。