WSInterfaceFromLinkServer (C 函数)

const char * WSInterfaceFromLinkServer(WSLinkServer s, int *err)

返回含有 IP 地址的 C 风格字符串,该 IP 地址为链接服务器 s 使用的界面的 IP 地址.

更多信息

  • WSInterfaceFromLinkServer() 会返回 WSTP 库的内存. 程序不允许修改该内存;且在程序使用完界面字符串后,程序必须调用 WSReleaseInterfaceFromLinkServer() 把该内存释放回 WSTP 库中.
  • WSInterfaceFromLinkServer() 遇到错误,则它会返回错误值,它会给出 err 表示错误值并返回 (const char *)0. 若 WSInterfaceFromLinkServer() 成功,则 err 会包含零.
  • 表示错误状况的非零值相当于 wstp.h 中由 WSError() 返回的 WSE 错误代码.

范例

基本范例  (1)

#include <stdlib.h> /* For malloc, free */
#include <string.h> /* For memset,memcpy */
#include "wstp.h"

void getInterfaceForLinkServer(WSLinkServer server)
{
    char *buffer;
    size_t length;
    const char *interface;
    int error;

    interface = WSInterfaceFromLinkServer(server, &error);
    if(interfaced == (const char *)0 || error != WSEOK)
    { /* Handle error */ }

    length = strlen(interface);

    buffer = (char *)malloc((length + 1) * sizeof(char));
    if(buffer == (char *)0)
    { /* Handle out of memory condition */ }

    memset((void *)buffer, 0, (length + 1) * sizeof(char));

    memcpy((void *)buffer, (void *)interface, length * sizeof(char));

    WSReleaseInterfaceFromLinkServer(server, interface);

    /* .. do something with buffer... */

    free(buffer);

    return;
}