MLGetUTF16Symbol (C 函数)

MLGetUTF16Symbol 已经被 WSGetUTF16Symbol 所取代.

int MLGetUTF16Symbol(MLINK link,const unsigned short **s,int *n,int *c)

从由 link 指定的 MathLink 连接中获取一个对应于一个符号名称的 UTF-16 字符字符串,并把字符串存在 s,字符串的长度存在 n,字符数存在 c 中.

更多信息

  • MLGetUTF16Symbol() 为字符字符串分配内存. 必须调用 MLReleaseUTF16Symbol() 释放该内存. 如果 MLGetUTF16Symbol() 失败并且函数的返回值表明一个错误,不要调用含有 s 内容的 MLReleaseUTF16Symbol().
  • MLGetUTF16Symbol() 返回不可变的数据.
  • MLGetUTF16Symbol() 把所有字符直接存为 UTF-16 Unicode 编码形式.
  • MLGetUTF16Symbol() 在错误事件中返回0,如果函数成功则返回非零值.
  • 如果 MLGetUTF16Symbol() 失败,则使用 MLError() 检索错误代码.
  • MLGetUTF16Symbol() 在 MathLink 标头文件 mathlink.h 中被声明.

范例

基本范例  (1)

#include "mathlink.h"

/* read a UTF-16 symbol from a link */

void f(MLINK lp)
{
    const unsigned short *symbol;
    int length;
    int characters;

    if(! MLGetUTF16Symbol(lp, &symbol, &length, &characters))
        {
            /* unable to read the UTF-16 symbol from lp */
            return;
        }

    /* ... */

    MLReleaseUTF16Symbol(lp, symbol, length, characters);
}