MLTransferExpression()
This feature is not supported on the Wolfram Cloud.

MLTransferExpression has been replaced by WSTransferExpression.

int MLTransferExpression(MLINK dst,MLINK src)
transfers an expression to destination link dst from source link src.

DetailsDetails

  • dst and src need not be distinct.
  • dst and src can be either loopback or ordinary links.
  • MLTransferExpression() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • MLTransferExpression() is often used to read an expression from a link in order to store it in a loopback link.
  • MLTransferExpression() is passed (MLINK)0 for dst, the expression on src will be discarded.
  • MLTransferExpression() is declared in the MathLink header file mathlink.h.

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

#include "mathlink.h"

/* transfer an expression to link 2 from loopback link 1 */

void f(MLINK lp2, MLINK lp1)
{
    /* send EvaluatePacket[ToExpression[str]] to lp1 */
if(! MLPutFunction(lp1, "EvaluatePacket", 1))
        { /* unable to put function to lp1 */ }

    if(! MLPutFunction(lp1, "ToExpression", 1))
        { /* unable to put function to lp1 */ }

    if(! MLPutString(lp1, "a = Table[RandomInteger[2,12]];"))
        { /* unable to put the string to lp1 */ }

    if(! MLEndPacket(lp1))
        { /* unable to put the end-of-packet indicator to lp1 */ }

    if(! MLFlush(lp1))
        { /* unable to put flush any outgoing data buffered in lp1 */ }

/* now transfer to lp2 from lp1 */
    if(! MLTransferExpression(lp2, lp1))
        { /* unable to transfer an expression from lp1 to lp2 */ }
}
Translate this page: