MLGetUTF32Function (C 関数)
MLGetUTF32FunctionはWSGetUTF32Functionに置き換えられた.
int MLGetUTF32Function( MLINK l , const unsigned int ** s , int * v , int * n )
l が指定するMathLink接続からのUTF-32のコード化形式でコード化された頭部として,記号を含む関数を得て,記号の名前を s に,UTF-32コードの長さを v に,関数の引数の数を n に保存する.
詳細

- MLGetUTF32Function()は,関数の頭部の名前に対応する文字列にメモリを割り当てる.このメモリを解放するためには,MLReleaseUTF32Symbol()を呼び出さなければならない.MLGetUTF32Function()が失敗し,関数の戻り値がエラーを示す場合には,s の内容に対してMLReleaseUTF32Symbol()を呼び出してはならない.
- プログラムは,文字列 s の内容を変更してはならない.
- MLGetUTF32Function() によって返された文字列は,プラットフォームに適切なバイトオーダーマークで始まる.このバイトオーダーマークは,記号 v の長さに含まれる.
- MLGetUTF32Function(l,&s,&v,&n)は,MLGetNext(l); MLGetArgCount(l, &n); MLGetUTF32Symbol(l, &s, &v)と同じ効果がある.
- MLGetUTF32Function()は,エラーがあった場合には0を返し,関数が成功した場合には非零の値を返す.
- MLGetUTF32Function()が失敗した場合には,MLError()を使ってエラーコードを得るとよい.
- MLGetUTF32Function()は,MathLinkヘッダファイルmathlink.hで宣言される.
例題
例 (1)
#include "mathlink.h"
/* A function for reading a Mathematica function from a link */
void f(MLINK l)
{
unsigned int *s;
int length;
int n;
if(! MLGetUTF32Function(l, &s, &length, &n))
{ /* Unable to read the function from the link */ }
/* ... */
MLReleaseUTF32Function(l, s, length);
}