WSBytesToPut (C 函数)
int WSBytesToPut(WSLINK link,int *n)
计算当前数据的文本表示中剩余的要写入的字节数,并把结果存在 n 中.
更多信息
- WSTP 提供函数,例如:WSPutString()、WSPutSymbol()、WSPutInteger32() 和 WSPutReal64() 发送字符串、符号、整数和浮点数. 然而,有时使用字符字符串表示发送这些类型很方便. WSBytesToPut() 与 WSPutType()、WSPutRawSize() 和 WSPutRawData() 一起使用字符字符串表示发送一个类型.
- WSBytesToPut() 如果为错误事件返回0,如果函数成功则返回非零值.
- 如果 WSBytesToPut() 失败,使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSBytesToPut() 作出声明.
范例
基本范例 (1)
#include <string.h>
#include "wstp.h"
/* send an approximation of Pi across a link */
void f(WSLINK lp)
{
char *Pi = "3.141592654";
int bytes_left, i;
if(! WSPutType(lp, WSTKOLDREAL))
{ /* unable to send the data type to lp */ }
if(! WSPutRawSize(lp, strlen(Pi))
{ /* unable to send the length of Pi to lp */ }
if(! WSBytesToPut(lp, &bytes_left))
{ /* unable to get the remaining bytes to send from lp */ }
i = 0;
while(bytes_left > 0)
{
/* send the data one byte at a time */
if(! WSPutRawData(lp, Pi + i, 1))
{ /* unable to send a character of Pi to lp */ }
if(! WSBytesToPut(lp, &bytes_left))
{ /* unable to get the remaining bytes to send from lp */ }
i++;
}
}