C语言 百分网手机站

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

时间:2020-10-02 16:53:25 C语言 我要投稿

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

  在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作。下面介绍C语言文件操作解析详解及实例代码,希望大家喜欢!

  一.移动位置指针的函数

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

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

  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<stdio.h>

  #include<stdlib.h>

  int main(void)

  {

  freopen("input.txt","r",stdin);

  freopen("output.txt","w+",stdout);

  int i;

  int a[10];

  for(i=0;i<10;i++)

  {

  scanf("%d",&a[i]);

  }

  for(i=0;i<10;i++)

  {

  printf("%dn",a[i]);

  }

  return 0;

  }

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


【C语言文件操作解析详解及实例代码】相关文章:

C语言奇偶排序算法详解及实例代码10-04

C语言文件操作函数freopen详解11-20

C语言以数据块的形式读写文件实例代码10-07

C语言文件操作函数11-04

C语言插入排序算法及实例代码10-08

C语言合并排序及实例代码讲解10-04

C语言快速排序算法及代码10-06

C语言循环队列的表示与实例详解11-19

解析C语言编程中指针赋值的实例11-19