NLS 関数:与えられた文字がマルチバイト文字の先行バイトかどうかを決定します。
モジュール:USE DFNLS
形式
result = MBLead ( char )
char
(入力) CHARACTER(1)。検証する文字。
結果
結果の型は LOGICAL(4) です。char がマルチバイト文字の先行バイトであれば,結果は .TRUE. です。そうでなければ .FALSE. です。
MBLead は,マルチバイト文字列全体を 1 づつ進む場合のみ動作します。たとえば,以下のようになります。
DO i = 1, LEN(str) ! LEN はバイト数を返します。 ! str 中の文字数ではありません。 WRITE(*, 100) MBLead (str(i:i)) END DO 100 FORMAT (L2, \)
MBLead は一度に一文字のみを渡され,先行バイトから開始し,文字を構成する文字単位にステップしなければなりません。マルチバイト文字の後続 バイトのみが渡された場合,MBLead は先行バイト以外を正しく認識できません。これは,先行バイトまたは後続バイトの状態が文脈に依存するためです。
関数 MBStrLead は文字列全体を渡され,先行バイトまたは後続バイトとして文字列内のどのバイトも認識することができます。これは,文脈依存検証を実行し,文脈を確立するために必要であれば,文字列の最初に戻り全体をスキャンするためです。そのため,MBStrLead は MBLead よりかなり遅くなります。n を文字列長とした時,最大 n 倍遅くなります。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報