C语言中文件操作详解及实例代码 C语言中文件操作详解及实例代码 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: voidrewind(FILE*fp);将位置指针移动到文件首 intfseek(FILE*fp,longintoffset,intorigin);将位置指针移动到距离origin的offset字节数的位置 其中对于fseek函数中的参数,origin为起始点,offset为距离origin的偏移字节数 origin的值有三个:SEEK_SET(0)—>文件首,SEEK_CUR(1)—>当前位置,SEEK_END(2)—>文件尾。 注意:1)若文件是以追加方式打开,则当进行写操作时,这两个函数是不起作用的',无论将位置指针移动哪个位置,始终将添加的数据追加到文件末尾。 二.其他常用函数 1.ftell函数 longintftell(FILE*fp); 计算当前位置指针距文件首的字节数,若出错,则返回-1L。 利用ftell函数可以计算出文件的大小。 2.feof函数 intfeof(FILE*fp); 检测当前位置指针是否到达文件末尾,若到达文件末尾,则返回一个非零值,否则返回0。 3.ferror函数 intferror(FILE*fp); 检测文件操作过程中是否出错,若出错,则返回一个非零值,否则返回0 4.remove函数 intremove(constchar*filename); 删除文件,若删除成功,则返回0,否则返回非零值 5.rename函数 intrename(constchar*oldname,constchar*newname); 将文件重命名,重命名成功则返回0,否则返回非零值。 6.freopen函数 FILE*freopen(constchar*filename,constchar*mode,FILE*stream); 实现重定向输入输出。此函数在测试数据时用得比较多。 7.fclose函数 intfclose(FILE*stream); 关闭一个流,若成功,则返回0,否则返回-1.注意每次对文件操作完之后需关闭流,否则可能会造成数据丢失。 测试程序: #include #include intmain(void) { freopen("input.txt","r",stdin); freopen("output.txt","w+",stdout); inti; inta[10]; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<10;i++) { printf("%d",a[i]); } return0; } 假设工程目录下已经存在input.txt,文件中的数据为12-134578910,则运行之后,不需要从控制台输入数据,程序直接从input.txt中读取数据,然后将结果输出到output.txt中,不直接向控制台输出结果。 本文来源:https://www.wddqw.com/doc/2aca071af8b069dc5022aaea998fcc22bdd143d5.html