C語言中檔案操作詳解及例項程式碼
- C語言
- 關注:2.92W次
在檔案操作中除了開啟操作以及讀寫操作,還有幾種比較常見的操作。以下是本站小編搜尋整理的關於這些操作中涉及到的函式,,需要的朋友可以參考本文!想了解更多相關資訊請持續關注我們應屆畢業生考試網!
一.移動位置指標的函式
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)若檔案是以追加方式開啟,則當進行寫操作時,這兩個函式是不起作用的',無論將位置指標移動哪個位置,始終將新增的資料追加到檔案末尾。
二.其他常用函式
l函式
long int ftell(FILE *fp);
計算當前位置指標距檔案首的位元組數,若出錯,則返回-1L。
利用ftell函式可以計算出檔案的大小。
函式
int feof(FILE *fp);
檢測當前位置指標是否到達檔案末尾,若到達檔案末尾,則返回一個非零值,否則返回0。
or函式
int ferror(FILE *fp);
檢測檔案操作過程中是否出錯,若出錯,則返回一個非零值,否則返回0
ve函式
int remove(const char *filename);
刪除檔案,若刪除成功,則返回0,否則返回非零值
me函式
int rename(const char *oldname,const char *newname);
將檔案重新命名,重新命名成功則返回0,否則返回非零值。
pen函式
FILE* freopen(const char *filename,const char *mode,FILE *stream);
實現重定向輸入輸出。此函式在測試資料時用得比較多。
se函式
int fclose(FILE *stream);
關閉一個流,若成功,則返回0,否則返回-1.注意每次對檔案操作完之後需關閉流,否則可能會造成資料丟失。
測試程式:
#include
#include
int main(void)
{
freopen("","r",stdin);
freopen("","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",a[i]);
}
return 0;
}
假設工程目錄下已經存在,檔案中的資料為1 2 -1 3 4 5 7 8 9 10,則執行之後,不需要從控制檯輸入資料,程式直接從中讀取資料,然後將結果輸出到中,不直接向控制檯輸出結果。
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/cyuyan/go62g2.html