WSGetUTF8Function (C 函数)

int WSGetUTF8Function( WSLINK l , const unsigned char ** s , int * v , int * n )

从由 l 指定的 WSTP 连接中获取函数,该函数带有用 UTF-8 编码形式来编码的作为标头的符号,该符号的名称存于 s,UTF-8 代码的长度存于 v,函数参数的数量存于 n.

更多信息

  • WSGetUTF8Function() 分配对应于函数标头名称的字符字符串内存. 若要释放该内存,必须调用 WSReleaseUTF8Symbol(). 若 WSGetUTF8Function() 失败且函数的返回值说明存在错误,则不要调用有 s 内容的 WSReleaseUTF8Symbol().
  • 程序不应该修改字符字符串 s 的内容.
  • WSGetUTF8Function(l, &s, &v, &n)WSGetNext(l); WSGetArgCount(l, &n); WSGetUTF8Symbol(l, &s, &v, &c) 效果相同,其中 c 表示 s 中被编码的字符数量.
  • 若发生错误,则 WSGetUTF8Function() 返回0;若函数成功,则返回非零值.
  • WSGetUTF8Function() 失败,则使用 WSError() 检索错误代码.
  • WSTP 的标头文件 wstp.h. 已对 WSGetUTF8Function() 作出声明.

范例

基本范例  (1)

#include "wstp.h"

/* read a function from a link */

void f(WSLINK l)
{
    unsigned char *s;
    int length;
    int n;

    if(! WSGetUTF8Function(l, &s, &length, &n))
    { /* Unable to read the function from the link */ }

    /* ... */

    WSReleaseUTF8Symbol(l, s, length);
}