WSGetUTF32Symbol (C 函数)

int WSGetUTF32Symbol(WSLINK link,const unsigned int **s,int *len)

从由 link 指定的 WSTP 连接中获取一个对应于一个符号名称的 UTF-32 字符字符串,并把结果字符串存在 s,字符串的长度存在 len.

更多信息

  • WSGetUTF32Symbol() 为字符字符串分配内存. 必须调用 WSReleaseUTF32Symbol() 释放该内存. 如果 WSGetUTF32Symbol() 失败并且函数的返回值表明一个错误,不要调用含有 s 内容的 WSReleaseUTF32Symbol().
  • WSGetUTF32Symbol() 返回不可变的数据.
  • WSGetUTF32Symbol() 把所有字符直接存为 UTF-32 编码形式.
  • WSGetUTF32Symbol() 返回的符号 s 以字节顺序标记开头.
  • 符号长度 len 包括字节顺序标记.
  • 若发生错误,则 WSGetUTF32Symbol() 返回0;若函数成功,则返回非零值.
  • 如果 WSGetUTF32Symbol() 失败,则使用 WSError() 检索错误代码.
  • WSTP 的标头文件 wstp.h 已对 WSGetUTF32Symbol() 作出声明.

范例

基本范例  (1)

#include "wstp.h"

/* read a UTF-32 encoded symbol from a link */

void f(WSLINK lp)
{
    const unsigned int *symbol;
    int len;

    if(! WSGetUTF32Symbol(lp, &symbol, &len))
        {
            /* unable to read the UTF-32 symbol from lp */
            return;
        }

    /* ... */

    WSReleaseUTF32Symbol(lp, symbol, len);
}