C语言 文件操作解析详解及实例代码

c语言文件操作解析

        在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作。下面介绍一下这些操作中涉及到的函数。

一.移动位置指针的函数

   rewind函数和fseek函数,这两个函数的原型是:

   void rewind(FILE *fp);     将位置指针移动到文件首

立即学习“C语言免费学习笔记(深入)”;

  int fseek(FILE *fp,long int offset,int origin);   将位置指针移动到距离origin的offset字节数的位置

  其中对于fseek函数中的参数,origin为起始点,offset为距离origin的偏移字节数

 origin的值有三个:SEEK_SET(0)—>文件首,SEEK_CUR(1)—>当前位置,SEEK_END(2)—>文件尾。

注意:1)若文件是以追加方式打开,则当进行写操作时,这两个函数是不起作用的,无论将位置指针移动哪个位置,始终将添加的数据追加到文件末尾。

二.其他常用函数

1.ftell函数

long int ftell(FILE *fp);

计算当前位置指针距文件首的字节数,若出错,则返回-1L。

利用ftell函数可以计算出文件的大小。

2.feof函数

int feof(FILE *fp);

检测当前位置指针是否到达文件末尾,若到达文件末尾,则返回一个非零值,否则返回0。

3.ferror函数

int ferror(FILE *fp);

检测文件操作过程中是否出错,若出错,则返回一个非零值,否则返回0

4.remove函数

int remove(const char *filename);

删除文件,若删除成功,则返回0,否则返回非零值

5.rename函数

int rename(const char *oldname,const char *newname);

将文件重命名,重命名成功则返回0,否则返回非零值。

6.freopen函数

FILE* freopen(const char *filename,const char *mode,FILE *stream);

实现重定向输入输出。此函数在测试数据时用得比较多。

7.fclose函数

int fclose(FILE *stream);

关闭一个流,若成功,则返回0,否则返回-1.注意每次对文件操作完之后需关闭流,否则可能会造成数据丢失。

测试程序:

#include#include  int main(void){  freopen("input.txt","r",stdin);  freopen("output.txt","w+",stdout);  int i;  int a[10];  for(i=0;i

   

假设工程目录下已经存在input.txt,文件中的数据为1 2 -1 3 4 5 7 8 9 10,则运行之后,不需要从控制台输入数据,程序直接从input.txt中读取数据,然后将结果输出到output.txt中,不直接向控制台输出结果。

感谢阅读,希望能帮助到大家,更多相关文章请关注PHP中文网(www.php.cn)! 

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2554661.html

(0)
上一篇 2025年3月6日 07:07:22
下一篇 2025年2月25日 12:23:59

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论