clrmemf() - メモリー・ファイルのクリア

標準

標準/拡張機能 C/C++ 依存項目
Language Environment 両方  

形式

#include <stdio.h>

int clrmemf(int level);

機能説明

現行プログラムによって、および非 POSIX system() 呼び出しを 使用して呼び出されたプログラムによって作成されたメモリー・ファイルを 削除します。clrmemf() は、メモリー・ファイルがオープン中かどうかにかかわらず、メモリー・ファイルを削除できます。

ユーザーのネーム・スペースが侵害されるのを回避するため、この非標準関数には 2 つの名前があります。1 つの名前の接頭部には 2 つの下線文字が付き、もう 1 つの名前の接頭部には付きません。接頭部下線文字が付いていない名前は、LANGLVL(EXTENDED) を使用する場合にのみ表示されます。

この関数を使用するには、その外部エントリー・ポイント名 (2 つの下線文字で始まる名前) を使用して呼び出すか、LANGLVL(EXTENDED) を使用してコンパイルする必要があります。LANGLVL(EXTENDED) を使用すると、ヘッダー内の関連情報も表示されます。

level 引数は、削除するメモリー・ファイルを 示します。level は以下のいずれかにすることができます。
__LOWER
ほかのプログラムで作成され、当該プログラムで system() を 介して呼び出されたメモリー・ファイルを削除する。
__CURRENT
現行レベルで作成されたメモリー・ファイルだけを 削除する。
__CURRENT_LOWER
現行プログラム、および現行レベルで呼び出された すべてのプログラムによって作成されたすべての メモリー・ファイルを削除する。

複数の共用 PICI C 環境の特殊な動作: clrmemf() 関数の呼び出し元である C 環境で作成されたファイルだけがクリアされます。

戻り値

正常に実行された場合、clrmemf() は 0 を戻します。

正常に実行されなかった場合は、clrmemf() はゼロ以外を戻します。

/*
   In this example, when Program2 calls clrmemf()(__CURRENT) only
   A3.FILE and A4.FILE will be removed.
 */
/*****  Program1  *****/
⋮
   fp1 = fopen ("A1.FILE", "w,type=memory(hiperspace)");
   fp2 = fopen ("A2.FILE", "w,type=memory(hiperspace)");
   system("Program2");
⋮
/*****  Program2  *****/
⋮
   fp3 = fopen("A3.FILE","w,type=memory");
   fp4 = fopen("A4.FILE","w,type=memory");
   system("Program3");
⋮
   clrmemf(__CURRENT);
⋮
/*****  Program3  *****/
⋮
   fp5 = fopen("A5.FILE","w,type=memory");
   fp6 = fopen("A6.FILE","w,type=memory");
⋮

関連情報