OpenersNotesSection(Spacer1)Details

MLGetNumberAsUTF8String() allocates memory to store the string value. To release the memory allocated by MLGetNumberAsUTF8String(), call (NonWLLink[MLReleaseUTF8String(), paclet:/ref/c/MLReleaseUTF8String]) on the contents of s. If MLGetNumberAsUTF8String() fails, do not call (NonWLLink[MLReleaseUTF8String(), paclet:/ref/c/MLReleaseUTF8String]) on the contents of s.

MLGetNumberAsUTF8String() returns 0 on error and a nonzero value if the function succeeds.

MLGetNumberAsUTF8String() is declared in the MathLink header file (RefLink[mathlink.h, paclet:/ref/file/mathlink.h]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (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 unsigned char *theNumber;
				int length, characters;
				MLGetNumberAsUTF8String(l, &theNumber, &length, &characters);
				/* ... */
				MLReleaseUTF8String(l, theNumber, length);
			}
		}
		break;
		case MLTKREAL:
			/* ... */
	}
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLReleaseUTF8String(), paclet:/ref/c/MLReleaseUTF8String])  ▪  (NonWLLink[MLGetNumberAsString(), paclet:/ref/c/MLGetNumberAsString])  ▪  (NonWLLink[MLGetNumberAsUCS2String(), paclet:/ref/c/MLGetNumberAsUCS2String])  ▪  (NonWLLink[MLGetNumberAsUTF16String(), paclet:/ref/c/MLGetNumberAsUTF16String])  ▪  (NonWLLink[MLGetNumberAsUTF32String(), paclet:/ref/c/MLGetNumberAsUTF32String])}})}})