方法一:文件指针固定,依靠偏移量来访问文件内容
1 void reverse(FILE* fpin) 2 { 3 long count = 0; 4 fseek(fpin, 0, SEEK_END); 5 while(fseek(fpin,--count,SEEK_END) == 0) 6 { 7 fseek(fpin, count, SEEK_END); 8 putc(getc(fpin), stdout); 9 } 10 }
方法二: 偏移量固定,依靠SEEK_CUR当前指针来访问文件内容
1 void reverse(FILE* fpin) 2 { 3 char ch; 4 //将文件指针定位到尾部 5 fseek(fpin, 0, SEEK_END); 6 //当前指针向文件头部偏移1位,当超出文件范围时退出 7 while (fseek(fpin, -1, SEEK_CUR) == 0) 8 { 9 //获取当前文件指针指向的内容,此时文件指针会自动向文件尾部移动1位 10 ch = getc(fpin); 11 //向屏幕打印当前字符 12 putc(ch, stdout); 13 //将当前指针向文件头部偏移1位以纠正读取指针的偏移量 14 fseek(fpin, -1, SEEK_CUR); 15 } 16 }
时间: 2024-10-06 14:40:42