国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言 文件操作解析詳解及實例代碼

2020-01-26 14:23:09
字體:
來源:轉載
供稿:網友

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("%d/n",a[i]);  }  return 0;}

假設工程目錄下已經存在input.txt,文件中的數據為1 2 -1 3 4 5 7 8 9 10,則運行之后,不需要從控制臺輸入數據,程序直接從input.txt中讀取數據,然后將結果輸出到output.txt中,不直接向控制臺輸出結果。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 来安县| 澄迈县| 武强县| 岳普湖县| 通山县| 扬州市| 牟定县| 邹城市| 嘉黎县| 兰考县| 玉溪市| 汉阴县| 尉犁县| 扎囊县| 安康市| 宣恩县| 横峰县| 繁峙县| 咸阳市| 饶平县| 巴彦县| 仁怀市| 宿迁市| 三亚市| 达孜县| 永年县| 会同县| 雅江县| 航空| 杭锦旗| 仪征市| 四平市| 凌源市| 烟台市| 遂川县| 杭锦旗| 光山县| 曲周县| 滁州市| 西峡县| 台山市|