node_bn* GetNodeNamed_bn ( const char*  name,   const net_bn*  net )

Returns the node of net which has a name exactly matching name (case sensitive comparison). If there is no such node, it will return NULL (without generating an error).

name can be any string; it need not be a legal IDname (of course if is not legal, NULL will be returned).

To search a node list for a node with a given name, see the FindNodeNamed example below.

Netica won't modify or free the passed name string.


This function is available in all versions. In versions previous to 3.05, this function was named NodeNamed_bn.

See also:

GetNodeName_bn    (inverse function) Returns the name of the node


The following function is available in NeticaEx.c:
// Like GetNodeNamed_bn, but generates an error if the name doesn't exist. // In versions prior to 3.05 this function was called NodeNamed // node_bn* GetNode (char* node_name, net_bn* net){ node_bn* node = GetNodeNamed_bn (node_name, net); if (node == NULL) NewError (env, 0, ERROR_ERR, // for NewError, see NewError_ns "NodeNamed: There is no node named '%s' in net '%s'", node_name, GetNetName_bn (net)); return node; }
Example 2:
The following function is available in NeticaEx.c:
// Returns the index of the node identified by name in the list nodes, // or -1 if it doesn't appear. // All of nodes must be in the same net. // int FindNodeNamed (const char* name, const nodelist_bn* nodes){ if (LengthNodeList_bn (nodes) == 0) return -1; else { net_bn* net = GetNodeNet_bn (NthNode_bn (nodes, 0)); node_bn* node = GetNodeNamed_bn (name, net); if (node == NULL) return -1; return IndexOfNodeInList_bn (node, nodes, 0); } }