OpenersNotesSection(Spacer1)Details

If the data on the link corresponds to a real number, MLGetInteger8() will round it to an integer.

If the data on the link corresponds to an integer too large to store in a C unsigned char on your computer system, then MLGetInteger8() will fail, and return 0.

You can get arbitrary-precision integers by first using (RefLink[IntegerDigits, paclet:ref/IntegerDigits]) to generate lists of digits, and then calling (NonWLLink[MLGetInteger8List(), paclet:/ref/c/MLGetInteger8List]).

MLGetInteger8() returns a nonzero function value if the function succeeds.

Use (NonWLLink[MLError(), paclet:/ref/c/MLError]) to retrieve the error code if MLGetInteger8() fails.

MLGetInteger8() 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 to read an unsigned char from a link */

void f(MLINK l)
{
	unsigned char c;

	if(! MLGetInteger8(l, &c))
	{ /* Unable to read the integer from l */ }

	/* Use the integer */
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLGetInteger16(), paclet:/ref/c/MLGetInteger16])  ▪  (NonWLLink[MLGetInteger32(), paclet:/ref/c/MLGetInteger32])  ▪  (NonWLLink[MLGetInteger64(), paclet:/ref/c/MLGetInteger64])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Manipulating Expressions in External Programs, paclet:tutorial/ManipulatingExpressionsInExternalPrograms])}})}})