WSGetNumberAsString (C 関数)

int WSGetNumberAsString(WSLINK l, const char **s)

l が指定するWSTP接続上の次の数を,文字列 s に保存された数の値を表すASCIIの文字列として読み取る.

詳細

  • WSGetNumberAsString()はメモリを割り当てて,文字列の値を保存する.WSGetNumberAsString()によって割り当てられたメモリを解放するには,s の内容についてWSReleaseString()を呼び出す.WSGetNumberAsString()が失敗した場合には,s の内容についてWSReleaseString()を呼び出してはならない.
  • WSGetNumberAsString()は,エラーの場合には0を,関数が成功した場合には非零の値を返す.
  • WSGetNumberAsString()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

/* A function for reading an integer from a link */

void f(WSLINK l)
{
    switch(WSGetType(l))
    {
        case WSTKINT:
        {
            int rawType;
            rawType = WSGetRawType(l);
            if(rawType == WSTK_WSSHORT)
            {
                short theNumber;
                WSGetInteger16(l, &theNumber);
                /* ... */
            }
            else if(rawType == WSTK_WSINT)
            {
                int theNumber;
                WSGetInteger32(l, &theNumber);
                /* ... */
            }
            else
            {
                const char *theNumber;
                WSGetNumberAsString(l, &theNumber);
                /* ... */
                WSReleaseString(l, theNumber);
            }
        }
        break;
        case WSTKREAL:
            /* ... */
    }
}