MLGetNumberAsString (C 函数)

MLGetNumberAsString 已经被 WSGetNumberAsString 所取代.

int MLGetNumberAsString(MLINK l, const char **s)

reads the next number on the MathLink connection specified by l as a string of ASCII characters representing the number value stored in the string s.

更多信息

  • MLGetNumberAsString() allocates memory to store the string value. To release the memory allocated by MLGetNumberAsString(), call MLReleaseString() on the contents of s. If MLGetNumberAsString() fails, do not call MLReleaseString() on the contents of s.
  • MLGetNumberAsString() returns 0 on error and a nonzero value on success.
  • MLGetNumberAsString() is declared in the MathLink header file mathlink.h.

范例

基本范例  (1)

#include "mathlink.h"

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

void f(MLINK l)
{
    switch(MLGetType(l))
    {
        case MLTKINT:
        {
            int rawType;
            rawType = MLGetRawType(l);
            if(rawType == MLTK_MLSHORT)
            {
                short theNumber;
                MLGetInteger16(l, &theNumber);
                /* ... */
            }
            else if(rawType == MLTK_MLINT)
            {
                int theNumber;
                MLGetInteger32(l, &theNumber);
                /* ... */
            }
            else
            {
                const char *theNumber;
                MLGetNumberAsString(l, &theNumber);
                /* ... */
                MLReleaseString(l, theNumber);
            }
        }
        break;
        case MLTKREAL:
            /* ... */
    }
}