這類函式完成對檔案的讀寫相關的操作,這種型別的操作和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 ...