前のページ|次のページ

PEEKC関数

32ビットプラットフォームのメモリアドレスの内容を文字変数に保存します。

カテゴリ: 特殊
制限事項: 32ビットプラットフォームでのみ使用します。
操作: SAS Serverがロックダウン状態の場合、PEEKC関数は実行されません。詳細については、SAS Processing Restrictions for Servers in a Locked-Down State (SAS言語リファレンス: 解説編)を参照してください。

構文

PEEKC(address <, length>)

必須引数

address

メモリアドレスを指定する数値定数、変数または式です。

オプション引数

length

データ長を指定する数値定数、変数または式です。

デフォルト 8 (LENGTHステートメントなどで変数長が設定済みではない場合)
範囲 1-32,767

詳細

要求しているメモリ保管場所へのアクセス権がない場合、PEEKC関数は無効な引数エラーを返します。
64ビットプラットフォームでPEEKC関数を使用しようとすると、この制限が適用されることを示すメッセージがSASによってログに書き込まれます。従来のアプリケーションでPEEKCを使用している場合、アプリケーションを変更してかわりにPEEKCLONGを使用します。PEEKCLONGは、32ビットと64ビットのプラットフォームで使用できます。

比較

PEEKC関数は、メモリアドレスの内容を文字変数に保存します。PEEK関数は、メモリアドレスの内容を数値変数に保存します。
注: PEEKCLONGは32ビットと64ビットのプラットフォームで使用できるため、ベストプラクティスとしては、PEEKCのかわりにPEEKCLONGを使用することをお勧めします。

例: ASCBのバイトのリスト

これはz/OS操作環境に固有な例で、PEEKとPEEKCを使用します。その例ではさらに、Address Space Control Block (ASCB)の最初の4バイトを出力します。
data _null_;
   length y $4;
      /* 220x is the location of the ASCB pointer */
   x=220x; 
   y=peekc(peek(x));
   put 'y=' y;
run;

関連項目:

CALLルーチン:
前のページ|次のページ|ページの先頭へ