MLGetNumberAsUTF32String (C 関数)
MLGetNumberAsUTF32StringはWSGetNumberAsUTF32Stringに置き換えられた.
int MLGetNumberAsUTF32String(MLINK l, const unsigned int **s, int n)
l が指定するMathLink接続上の次の数を,長さが n の文字列 s に保存された数の値を表すUTF-32の文字列として読み取る.
詳細
![](Files/MLGetNumberAsUTF32String.ja/details_1.png)
- MLGetNumberAsUTF32String()はメモリを割り当てて,文字列の値を保存する.MLGetNumberAsUTF32String()によって割り当てられたメモリを解放するには,s の内容についてMLReleaseUTF32String()を呼び出す.MLGetNumberAsUTF32String()が失敗した場合には,s の内容についてMLReleaseUTF32String()を呼び出してはならない.
- MLGetNumberAsUTF32String()によって返されたUTF-32の文字列 s は,バイトオーダーマークで始まる.
- 文字列の長さ n には,バイトオーダーマークが含まれる.
- MLGetNumberAsUTF32String()は,エラーの場合には0を,関数が成功した場合には非零の値を返す.
- MLGetNumberAsUTF32String()は,MathLinkヘッダファイルmathlink.hで宣言される.
例題
例 (1)
#include "mathlink.h"
/* A function for reading an integer from a link */
void f(MLINK l)
{
switch(MLGetType(l))
{
case MLTKINT:
{
int rawType;
rawType = MLGetRawType(l);
if(rawType == MLTK_MLSHORT)
{
short theNumber;
MLGetInteger16(l, &theNumber);
/* ... */
}
else if(rawType == MLTK_MLINT)
{
int theNumber;
MLGetInteger32(l, &theNumber);
/* ... */
}
else
{
const int *theNumber;
int length;
MLGetNumberAsUTF32String(l, &theNumber, &length);
/* ... */
MLReleaseUTF32String(l, theNumber, length);
}
}
break;
case MLTKREAL:
/* ... */
}
}