MLFlush (C 関数)

MLFlushWSFlushに置き換えられた.

int MLFlush(MLINK link)

link 上で送信を待っているデータを含む任意のバッファをフラッシュする.

詳細

  • MLNextPacket()あるいはどのMLGet関数を呼び出しても,MLFlush()が自動的に呼び出される.
  • MLReady()を呼び出すと,をまず呼び出して,必要な送信されるべきデータがすべて送信されたことを確認する必要がある.
  • MLFlush()はエラーがあると0を返し,関数が成功すると0以外の値を返す.
  • MLError()を使うとMLFlush()が不成功の場合にエラーコードを引き出すことができる.
  • MLFlush()は,MathLinkヘッダファイルmathlink.hの中で宣言される.

例題

  (1)

#include "mathlink.h"

/* send the expression Integrate[1/x^2,x] to a link */

void f(MLINK lp)
{
    if(! MLPutFunction(lp, "EvaluatePacket", 1))
        { /* unable to put the function to lp */ }

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

    if(! MLPutString(lp, "Integrate[1/x^2, x]"))
        { /* unable to put the string to lp */ }

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

    if(! MLFlush(lp))
        { /* unable to flush the buffered data in lp */ }
}