MLGetLinkedEnvIDString (C 函数)

MLGetLinkedEnvIDString 已经被 WSGetLinkedEnvIDString 所取代.

int MLGetLinkedEnvIDString(MLINK link,const char **e)

返回连接至 link 的 MathLink 环境的识别符并把它存储在 e 中.

更多信息

  • MLGetLinkedEnvIDString() 为字符串 eid 分配内存. 必须调用 MLReleaseEnvIDString() 来释放该内存. 如果 MLGetLinkedEnvIDString() 失败,函数的返回值表明一个错误,不要调用有 e 内容的 MLReleaseEnvIDString().
  • MLGetLinkedEnvIDString() 返回不可变的字符串.
  • MLGetLinkedEnvIDString() 返回的环境识别是一个零结尾的 ASCII 字符串.
  • MLGetLinkedEnvIDString() 直到连接 link 后才工作.
  • MLGetLinkedEnvIDString() 在错误事件中返回0,如果函数成功则返回非零值.
  • 如果 MLGetLinkedEnvIDString() 失败,则使用 MLError() 检索错误代码.
  • MLGetLinkedEnvIDString() 在 MathLink 的标头文件 mathlink.h 中被声明.

范例

基本范例  (1)

#include <string.h>
#include "mathlink.h"

/* read the id from a link and check for "My Remote Program" */

#define ERROR -1

int f(MLINK lp)
{
    int isCorrectProg;
    const char *e;

    if(! MLGetLinkedEnvIDString(lp, &e))
        {
            /* unable to read the link id from lp */
            return ERROR;
        }

    isCorrectProg = strcmp(envid, "My Remote Program") == 0;

    MLReleaseEnvIDString(lp, e, length);

    return isCorrectProg;
}