<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

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

    時間:2025-04-13 16:20:48 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語言中文件操作詳解及實例代碼08-24

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

    C語言奇偶排序算法詳解及實例代碼10-30

    C語言文件操作函數freopen詳解07-13

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

    C語言快速排序實例代碼10-30

    詳解C語言文件操作中fgets與fputs函數10-08

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

    C語言數組實例解析10-21

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人