MLGetUnicodeString (C 函数)
MLGetUnicodeString 已经被 WSGetUnicodeString 所取代.
int MLGetUnicodeString(MLINK link,unsigned short **s,long *n)
从由 link 指定的 MathLink 连接中获取一个对应于一个字符字符串,把字符串以16位 Unicode 字符序列存在 s 中.
更多信息

- MLGetUnicodeString() 为字符字符串分配内存. 必须调用 MLDisownUnicodeString() 释放该内存. 如果 MLGetUnicodeString() 失败并且函数的返回值表明一个错误,不要调用含有 s 内容的 MLDisownUnicodeString().
- MLGetUnicodeString() 返回不可变数据.
- MLGetUnicodeString() 把所有字符直接存为16位 UCS-2 形式.
- ASCII 字符与一个零(null)高阶字节一起存储.
- MLGetUnicodeString() 在错误事件中返回0,如果函数成功则返回非零值.
- 如果 MLGetUnicodeString() 失败,则使用 MLError() 检索错误代码.
- MLGetUnicodeString() 等同于 MLGetUCS2String().
范例
基本范例 (1)
#include "mathlink.h"
/* read a UCS-2 encoded string from a link */
void f(MLINK lp)
{
const unsigned short *string;
long length;
if(! MLGetUnicodeString(lp, &string, &length))
{
/* unable to read the UCS-2 string */
return;
}
/* ... */
MLDisownUnicodeString(lp, string, length);
}