WSPutType (C 函数)
int WSPutType(WSLINK link, int type)
为写入由 type 指定的对象而准备 link.
更多信息
- 所有 type 值都由 WSTK 开始.
- 有以下常用类型:
-
WSTKERR 错误 WSTKINT 整数 WSTKFUNC 复合函数 WSTKREAL 近似实数 WSTKSTR 字符字符串 WSTKSYM 符号 WSTKOLDINT 来自于 WSTP 库老版本的整数 WSTKOLDREAL 来自于 WSTP 库老版本的近似实数 WSTKOLDSTR 来自于 WSTP 库老版本的字符字符串 WSTKOLDSYM 来自于 WSTP 库老版本的符号 - WSTKINT 和 WSTKREAL 没有必要对可以储存在 C int 和 double 变量中的数字进行符号化.
- 若发生错误,则 WSPutType() 返回0;若函数成功,则返回非零值.
- 若 WSPutType() 失败,则使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSPutType() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
/* send a function using tokens and argument counts to a link */
void f(WSLINK lp)
{
if(! WSPutType(lp, WSTKFUNC))
{ /* unable to put the function type to lp */ }
if(! WSPutArgCount(lp, 2))
{ /* unable to put the number of arguments to lp */ }
if(! WSPutSymbol(lp, "Plus"))
{ /* unable to put the symbol to lp */ }
if(! WSPutInteger32(lp, 2))
{ /* unable to put the integer to lp */ }
if(! WSPutInteger32(lp, 3))
{ /* unable to put the integer to lp */ }
if(! WSFlush(lp))
{ /* unable to flush an buffered outgoing data to lp */ }
}