C 将文本文件内容逆序打印

Posted 黑马网仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 将文本文件内容逆序打印相关的知识,希望对你有一定的参考价值。

方法一:文件指针固定,依靠偏移量来访问文件内容

 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 }

 

以上是关于C 将文本文件内容逆序打印的主要内容,如果未能解决你的问题,请参考以下文章

从键盘上输入5个数,按照输入的逆序打印它们。

C语言实现双向非循环链表的逆序打印

C语言实现链表的逆序打印

C语言 - 递归实现字符串逆序打印

c语言字符串逆序总结与辨析

转义命令/ ByteArray转换为可读文本C#