OpenersNotesSection(Spacer1)Details

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

The UTF-16 string s returned by MLGetNumberAsUTF16String() begins with a byte order mark.

The length of the string v includes the byte order mark.

MLGetNumberAsUTF16String() returns 0 on error and a nonzero value on success.

MLGetNumberAsUTF16String() 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 short *theNumber;
				int length, characters;
				MLGetNumberAsUTF16String(l, &theNumber, &length, &characters);
				/* ... */
				MLReleaseUTF16String(l, theNumber, length);
			}
		}
		break;
		case MLTKREAL:
			/* ... */
	}
}

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