MLGetUTF8String()

int MLGetUTF8String(MLINK link, const unsigned char **s, int *b, int *c)
从由 link 指定的 MathLink 连接中获取一个 UTF-8 字符字符串,把字符串存在 s,字符串的字节数存在 b,字符串的字符数存在 c.

更多信息更多信息

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

范例范例打开所有单元关闭所有单元

基本范例 (1)基本范例 (1)

#include "mathlink.h"

/* read a UTF-8 encoded string from a link */

void f(MLINK lp)
{
    const unsigned char *string;
    int bytes;
    int characters;

    if(! MLGetUTF8String(lp, &string, &bytes, &characters))
        {
            /* unable to read the UTF-8 string from lp */
            return;
        }

    /* use the string */

    MLReleaseUTF8String(lp, string, bytes);
}
New to Mathematica? Find your learning path »
Have a question? Ask support »