文件I/O函数:随机访问fseek()和ftell()

编程入门 行业动态 更新时间:2024-10-16 18:38:43

文件I/O<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数:随机访问fseek()和ftell()"/>

文件I/O函数:随机访问fseek()和ftell()

该程序打卡一个文件并定位到文件结尾,输出当前字符,然后向前移动知道文件开头,用ftell()函数返回当前距文件开头的位置。

/** @Author: Your name* @Date:   2020-03-15 21:32:33* @Last Modified by:   Your name* @Last Modified time: 2020-03-17 20:36:33*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SLEN 81
#define CNL_Z '\032'
int main()
{char file[SLEN];char ch;FILE *fp;long count,last;puts("Enter the number of the file to be processed:");scanf("%80s",file);if((fp=fopen(file,"rb"))==NULL){printf("reverse can't open %s\n",file);exit(EXIT_FAILURE);}fseek(fp,0L,SEEK_END);//定位到文件结尾last = ftell(fp);//查看从文件开头到文件结尾有多少字节数for(count = 1;count<=last;count++){ch = getc(fp);fseek(fp,-count,SEEK_END);//从末尾依次获取字符putchar(ch);}putchar('\n');fclose(fp);getchar();return 0;
}

分析:

fseek(fp,0L,SEEK_END);

把当前位置设置为距文件末尾0字节偏移量,也就是说把当前位置设置在文件的末尾,下一条语句:

last = ftell(fp);

把从文件开始处到文件结尾的字节数赋给last.
然后是一个for循环:

 for(count = 1;count<=last;count++){ch = getc(fp);fseek(fp,-count,SEEK_END);//从末尾依次获取字符putchar(ch);}

第一轮迭代把程序定位到文件结尾的第一个字符(即,文件的最后一个字符)。然后,程序打印该字符。下一轮迭代把程序定位到前一个字符,并打印该字符。重复这一过程直到到达文件的第一个字符,并打印。

下面介绍fseek()ftell()函数:
文件I/O函数:ftell()
文件I/O函数:fseek()

更多推荐

文件I/O函数:随机访问fseek()和ftell()

本文发布于:2023-07-27 22:09:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1226468.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   文件   ftell   fseek

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!