_Rfeod() — データの終わりの強制

形式

#include <recio.h>

int _Rfeod(_RFILE *fp);

言語レベル

ILE C Extension

スレッド・セーフ

はい

説明

_Rfeod() 関数は、 fpで指定されたファイルに関連した装置またはメンバーのデータ終了条件を強制します。 システムがバッファリング中の未解決の更新、削除または書き込みは、不揮発性ストレージに強制されます。 データベース・ファイルが入力用にオープンしている場合、未解決のロックは解除されます。

_Rfeod() 関数は、ファイルが複数メンバー処理のためにオープンされ、現行メンバーがファイルの最後のメンバーでない場合を除き、ファイルを *END に位置付けます。 複数メンバー処理が有効で、現行メンバーがファイル内の最後のメンバーでない場合、 _Rfeod() はファイルの次のメンバーをオープンし、それを *START に位置付けます。

_Rfeod() 関数は、すべてのタイプのファイルに対して有効です。

戻り値

複数メンバー処理が行われ、次のメンバーがオープンされている場合、 _Rfeod() 関数は 1 を戻します。 ファイルが *END に位置指定された場合には、EOF が戻されます。 指定の操作が正常に実行されなかった場合は、ゼロが戻されます。 errno の値は、EIOERROR (リカバリー不能なエラーの発生) または EIORECERR (リカバリー可能な入出力エラーの発生) に設定されます。 errnoの設定については、 表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);
 

関連情報