前のページ|次のページ

LENGTHM関数

文字列に割り当てられたメモリの量を返します(バイト単位)。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル2に準拠しており、SBCS、DBCSおよびMBCS(UTF8)での使用目的で設計されています。

構文

LENGTHM(string)

必須引数

string

文字定数、変数または式を指定します。

詳細

LENGTHM関数は、stringに割り当てるメモリ量をバイト単位で表す整数を返します。stringが数値定数、変数または式(初期化済みまたは未初期化)の場合、数値はBEST12.出力形式を使用して自動的に右揃えの文字列に変換されます。この場合、LENGTHMは値12を返し、SASログに数値が文字値に変換されたというメモを書き込みます。

比較

LENGTHM関数は文字列に割り当てるメモリ量をバイト単位で返すのに対し、LENGTH、LENGTHCおよびLENGTHN関数は文字列の長さを返します。LENGTHMは必ずLENGTH、LENGTHCおよびLENGTHNが返す値以上の値を返します。

例1: 文字式に割り当てるメモリ量を判断する

この例では、文字式の中間結果を保存するバッファに割り当てられたメモリの量(バイト単位)を判断します。式CAT(x,y)の値の長さがどれくらいになるかは不明なため、最大で32,767バイトのメモリが割り当てられます。
data _null_;
   x='x';
   y='y';
   lc=lengthc(cat(x, y));
   lm=lengthm(cat(x, y));
   put lc= lm=;
run;
次の出力がログに書き込まれます。
lc=2 lm=32767

例2: 外部ファイルの変数に割り当てるメモリ量を判断する

この例では、外部ファイルからSASファイルに入力される変数に割り当てるメモリの量(バイト単位)を判断します。
data _null_;
   file 'test.txt';
   put 'trailing blanks   ';
run;
data test;
   infile 'test.txt';
   input;
   x=lengthm(_infile_);
   put x;
run;
次の出力がログに書き込まれます。
256

関連項目:

前のページ|次のページ|ページの先頭へ