亚洲中文日韩国产一区|亚洲国产精品原创巨作AV无遮挡|色依依国内精品中文字幕|日韩精品免费在线视频

<button id="lyzxa"><option id="lyzxa"><em id="lyzxa"></em></option></button>
    C語言

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

    時間:2024-10-02 17:18:31 C語言 我要投稿
    • 相關(guān)推薦

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

      在文件操作中除了打開操作以及讀寫操作,還有幾種比較常見的操作。下面介紹C語言文件操作解析詳解及實例代碼,希望大家喜歡!

      一.移動位置指針的函數(shù)

      rewind函數(shù)和fseek函數(shù),這兩個函數(shù)的原型是:

      void rewind(FILE *fp); 將位置指針移動到文件首

      int fseek(FILE *fp,long int offset,int origin); 將位置指針移動到距離origin的offset字節(jié)數(shù)的位置

      其中對于fseek函數(shù)中的參數(shù),origin為起始點,offset為距離origin的偏移字節(jié)數(shù)

      origin的值有三個:SEEK_SET(0)—>文件首,SEEK_CUR(1)—>當(dāng)前位置,SEEK_END(2)—>文件尾。

      注意:1)若文件是以追加方式打開,則當(dāng)進(jìn)行寫操作時,這兩個函數(shù)是不起作用的,無論將位置指針移動哪個位置,始終將添加的數(shù)據(jù)追加到文件末尾。

      二.其他常用函數(shù)

      1.ftell函數(shù)

      long int ftell(FILE *fp);

      計算當(dāng)前位置指針距文件首的字節(jié)數(shù),若出錯,則返回-1L。

      利用ftell函數(shù)可以計算出文件的大小。

      2.feof函數(shù)

      int feof(FILE *fp);

      檢測當(dāng)前位置指針是否到達(dá)文件末尾,若到達(dá)文件末尾,則返回一個非零值,否則返回0。

      3.ferror函數(shù)

      int ferror(FILE *fp);

      檢測文件操作過程中是否出錯,若出錯,則返回一個非零值,否則返回0

      4.remove函數(shù)

      int remove(const char *filename);

      刪除文件,若刪除成功,則返回0,否則返回非零值

      5.rename函數(shù)

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

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

      6.freopen函數(shù)

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

      實現(xiàn)重定向輸入輸出。此函數(shù)在測試數(shù)據(jù)時用得比較多。

      7.fclose函數(shù)

      int fclose(FILE *stream);

      關(guān)閉一個流,若成功,則返回0,否則返回-1.注意每次對文件操作完之后需關(guān)閉流,否則可能會造成數(shù)據(jù)丟失。

      測試程序:

      #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;

      }

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


    【C語言文件操作解析詳解及實例代碼】相關(guān)文章:

    C語言合并排序及實例代碼詳解11-02

    C語言文件操作函數(shù)freopen詳解07-13

    C語言以數(shù)據(jù)塊的形式讀寫文件實例代碼10-09

    C語言快速排序?qū)嵗a06-04

    C語言面試實例操作08-14

    C語言數(shù)組實例解析10-21

    C語言文件操作教程09-07

    C語言親密數(shù)實例解析10-28

    C語言項目中.h文件和.c文件的關(guān)系詳解10-01

    C語言選擇排序算法及實例代碼07-25