MLPutByteArray has been replaced by WSPutByteArray.

int MLPutByteArray(MLINK link,const unsigned char *a,const int *dims,const char **heads,int d)

puts an array of integers in the range 0255 to the MathLink connection specified by to form a depth- array with dimensions .


  • The array must be laid out in memory like a C array declared explicitly as .
  • If is given as NULL, the array will be assumed to have head List at every level.
  • The length of the array at level is taken to be .
  • MLPutByteArray() returns 0 in the event of an error, and a nonzero value otherwise.
  • Use MLError() to retrieve the error code if MLPutByteArray() fails.
  • MLPutByteArray() is declared in the MathLink header file mathlink.h.


Basic Examples  (1)

#include "mathlink.h"

/* send a list of integers in the range 0-255 to a link */

void f(MLINK lp)
    unsigned char array[10][5][3][4];
    long dims[4];
    int i;

    for(i = 0; i < 600; i++)
        *((unsigned char *)array + i) = i;

    dims[0] = 10;
    dims[1] = 5;
    dims[2] = 3;
    dims[3] = 4;

    if(! MLPutByteArray(lp, (unsigned char *)array, (long *)dims, (char **)0, 4))
        { /* unable to send array of integers to lp */ }

See Also

MLPutInteger16Array()  MLPutInteger32Array()  MLPutInteger64Array()