WSGetUTF8String (C 函数)
int WSGetUTF8String(WSLINK link,const unsigned char **s,int *b,int *c)
从由 link 指定的 WSTP 连接中获取一个 UTF-8 字符字符串,把字符串存在 s,字符串的字节数存在 b,字符串的字符数存在 c.
更多信息
- WSGetUTF8String() 为字符字符串分配内存. 必须调用 WSReleaseUTF8String() 释放该内存. 如果 WSGetUTF8String() 失败并且函数的返回值表明一个错误,不要调用含有 s 中的值的 WSReleaseUTF8String().
- WSGetUTF8String() 返回不可变数据.
- WSGetUTF8String() 把所有字符直接存为 UTF-8 Unicode 编码形式.
- 若发生错误,则 WSGetUTF8String() 返回0;若函数成功,则返回非零值.
- 如果 WSGetUTF8String() 失败,则使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSGetUTF8String() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
/* read a UTF-8 encoded string from a link */
void f(WSLINK lp)
{
const unsigned char *string;
int bytes;
int characters;
if(! WSGetUTF8String(lp, &string, &bytes, &characters))
{
/* unable to read the UTF-8 string from lp */
return;
}
/* use the string */
WSReleaseUTF8String(lp, string, bytes);
}