_Rfeod ()- 強制資料結尾

格式

#include <recio.h>

int _Rfeod(_RFILE *fp);

語言層次

ILE C 延伸

安全執行緒

說明

_Rfeod() 函數會對與 fp所指定檔案相關聯的裝置或成員強制執行資料結尾條件。 系統正在緩衝的任何未完成的更新、刪除或寫入將強制寫入永久儲存體。 如果開啟資料庫檔案以供輸入,則會釋放任何未完成的鎖定。

除非開啟檔案進行多成員處理,且現行成員不是檔案中的最後一個成員,否則 _Rfeod() 函數會將檔案定位為 *END。 如果多成員處理有效,且現行成員不是檔案中的最後一個成員,則 _Rfeod() 會開啟檔案的下一個成員,並將它定位為 *START。

_Rfeod() 函數適用於所有類型的檔案。

回覆值

如果正在進行多成員處理,且已開啟下一個成員,則 _Rfeod() 函數會傳回 1。 如果檔案定位為 *END ,則會傳回 EOF。 如果作業不成功,則會傳回零。 錯誤碼的值可以設為 EIOERROR (發生不可回復的錯誤) 或 EIORECERR (發生可回復的 I/O 錯誤)。 如需錯誤碼設定,請參閱 表 1表 1

範例

#include <stdio.h>
#include <stdlib.h>
#include <recio.h>
 
int main(void)
{
    _RFILE   *in;
    char     new_purchase[21] = "PEAR      1002022244";
 
    /* Open the file for processing in keyed sequence.              */
 
    if ( (in = _Ropen("MYLIB/T1677RD4", "rr+, arrseq=N")) == NULL )
    {
        printf("Open failed\n");
        exit(1);
    };
 
    /* Update the first record in the keyed sequence.               */
 
    _Rlocate(in, NULL, 0, __FIRST);
    _Rupdate(in, new_purchase, 20);
 
    /* Force the end of data.                                       */
 
    _Rfeod(in);
 

相關資訊