標準/拡張機能 | 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) を使用すると、ヘッダー内の関連情報も表示されます。
複数の共用 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");
⋮