C Builder 的檔案讀寫操作總結

2021-06-25 09:09:38 字數 3358 閱讀 7165

這類函式完成對檔案的讀寫相關的操作,這種型別的操作和c的基於i/o檔案操作類似,下表列出這類操作常用的函式及其功能。

fileopen() 開啟檔案

fileclose() 關閉檔案

fileread() 讀檔案

fileseek() 檔案定位  

filewrite() 寫檔案

filecreate() 建立檔案

下面就對這些函式作詳細介紹。

1. fileopen()

【原型】:extern package int __fastcall fileopen(const ansistring filename, int mode);

【功能】:開啟檔案,如果成功返回其控制代碼,否則返回-1

【引數】:

filename: 要開啟的檔名;

mode:     開啟的方式,取值如下表,可用"或"("|")運算子連線。

fmopenread

0

以唯讀屬性開啟

fmopenwrite

1

以只寫屬性開啟

fmopenreadwrite

2

以讀/寫屬性開啟

fmsharecompat

0

相容fcb方式(彙編中有相應的dos功能呼叫,自已查資料)

fmshareexclusive

16共享方式:以獨佔方式開啟,在關閉以前,別人不能訪問

fmsharedenywrite

32

共享方式:拒絕寫訪問

fmsharedenyread

48

共享方式:拒絕讀訪問

fmsharedenynone

64

共享方式:無限制,允許讀寫

例子:

int ihandle = fileopen("c:\\windows\\win.ini", fmopenreadwrite|fmshareexclusive);
通過【開啟對話方塊】獲取開啟的檔名:

1.新增opendialog控制項,標頭檔案中自動新增:

topendialog *opendialog1;
2. .cpp檔案中

int ihandle;

if(opendialog1->execute())

2. fileclose()

原型】:extern package void __fastcall fileclose(int handle);

【功能】:關閉開啟的控制代碼。

【引數】:handle: 要關閉的控制代碼

例子:

fileclose(ihandle);
3. fileread()

【原型】:extern package int __fastcall fileread(int handle, void *buffer, int count);

【功能】:讀檔案,返回實際讀取的位元組數,控制代碼必須首先由fileopen或filecreate建立。

【引數】:handle: 要讀取的控制代碼;

buffer:  存放讀取的資料的緩衝區;

count:   想讀取的位元組數

例子:

char str[400];

fileread(ihandle,str,400);

4. fileseek()

【原型】:extern package int __fastcall fileseek(int handle, int offset, int origin);

【功能】:移動檔案讀取指標,成功返回檔案指標的位置,失敗返回-1

offset:移動的量;

orgin:移動的基準,0=檔案頭,1=當前位置,2=檔案尾。

例子:

showmessage( fileseek(ihandle, 0, 2) ); //取得檔案的長度

5. filewrite()

【原型】:extern package int __fastcall filewrite(int handle, const void *buffer, int count);

【功能】:寫檔案,返回實際寫入的位元組數,控制代碼必須首先由fileopen或filecreate建立。

【引數】:handle:要寫入的控制代碼;

buffer:存放寫入資料的緩衝區;

count:想寫入的位元組數

例子:

char str="i love you";

filewrite(ihandle, str, strlen(str));

6. filecreate()

【原型】:extern package int __fastcall filecreate(const ansistring filename);

【功能】:建立檔案。成功返回其控制代碼,否則返回-1

【引數】:filename:要建立的檔名

例子:

if( !fileexists("kc.c") )

以下是乙個完整的例子:

【實現】:對話方塊中新增:button,opendialog元件,新增文字框,雙擊button,新增以下**:

int ifilehandle;

int ifilelength;

int ibytesread;

char *pszbuffer;

if (opendialog1->execute())

catch(...)

}

檔案的讀寫操作

說明 首先以讀寫方式開啟 r w a 都可以,不過要注意讀寫位置指標分別指向檔案頭 檔案頭 檔案尾 一次讀乙個字元 此時讀寫位置指標指向此位元組後面,判斷後,若要轉換,移動讀寫位置指標fseek fp,1l,seek cur 再寫入,由於在c中規定 以上述三種方式開啟檔案,既可讀又可寫,但 在沒有插...

檔案的讀寫操作

1.讀寫字元函式fgetc fputc int fgetc file stream 將流指標指向的檔案中的乙個字元輸出。若檔案指標指到檔案尾,會遇到檔案結束標誌eof 1 我們可以通過檢查該函式的返回值是否是 1來判斷是否已讀到檔案尾。int fputc int ch,file stream 將字元...

檔案的讀寫操作

1.read 會一次性讀取檔案的全部內容。2.readline 每次讀取一行,並且自帶換行功能,每一行末尾會讀到 n。3.readlines 一次性以行的形式讀取檔案的所有內容並返回乙個list,需要去遍歷讀出來。4.file控制代碼是乙個可迭代的物件因此,可以迴圈讀取檔案中的內容,每次讀一行。a ...