Example #1
0
int main()
{
    char Text1[20]="Tracy Sorrell";		/* string buffer	*/
    char Text2[10]="Martin";       		/* string buffer	*/

    printf (" Original string contents are: %s\n", Text2);

    SafeCopy(Text2, sizeof(Text2), Text1);
  
    printf (" New string contents are: %s\n", Text2);

    strcpy(Text2, "Alex");
  
    printf (" Final string contents are: %s\n", Text2);

}
//=============================================================================
BOOL XSocket::bConnect(char * pAddr, int iPort, unsigned int uiMsg)
{
 SOCKADDR_IN	 saTemp;
 u_long          arg;
 int             iRet;
 DWORD			 dwOpt;
 PutLogList("bConnect");
	if (m_cType == XSOCK_LISTENSOCK) return FALSE;
	if (m_Sock  != INVALID_SOCKET) closesocket(m_Sock);

	m_Sock = socket(AF_INET, SOCK_STREAM, 0);
	if (m_Sock == INVALID_SOCKET) 
		return FALSE;
	
	arg = 1;
	ioctlsocket(m_Sock, FIONBIO, &arg);
	
	memset(&saTemp,0,sizeof(saTemp));
	saTemp.sin_family = AF_INET;
	saTemp.sin_addr.s_addr = inet_addr(pAddr);
	saTemp.sin_port = htons(iPort);
	
	iRet = connect(m_Sock, (struct sockaddr *) &saTemp, sizeof(saTemp));
	if (iRet == SOCKET_ERROR) {
		if (WSAGetLastError() != WSAEWOULDBLOCK) {
			m_WSAErr = WSAGetLastError();
			return FALSE;
		}
	}

	WSAAsyncSelect(m_Sock, m_hWnd, uiMsg, FD_CONNECT | FD_READ | FD_WRITE | FD_CLOSE);
	dwOpt = 8192*5;
	setsockopt(m_Sock, SOL_SOCKET, SO_RCVBUF, (const char FAR *)&dwOpt, sizeof(dwOpt));
	setsockopt(m_Sock, SOL_SOCKET, SO_SNDBUF, (const char FAR *)&dwOpt, sizeof(dwOpt));


	SafeCopy(m_pAddr, pAddr);
	m_iPortNum = iPort;

	m_uiMsg = uiMsg;
	m_cType = XSOCK_NORMALSOCK;

	return TRUE;
}//=============================================================================
//==============================================================================
void cItem::MakeItemInfo(char *pItemName, DWORD  dwItemCount, sWORD  wTouchEffectType, sWORD wTouchEffectValue1, sWORD wTouchEffectValue2, sWORD wTouchEffectValue3, sWORD wItemSpecEffectValue1, sWORD wItemSpecEffectValue2, sWORD wItemSpecEffectValue3, WORD wCurLifeSpan, DWORD dwAttribute, BYTE bItemColor, BOOL bPutItemInBank, BOOL bIsItemEquipped, sWORD wItemPosX, sWORD wItemPosY)
{
	ZeroMemory(ItemName, sizeof(ItemName));
	SafeCopy(ItemName, pItemName);
	ItemCount = dwItemCount;
	TouchEffectType = wTouchEffectType;
	TouchEffectValue1 = wTouchEffectValue1;
	TouchEffectValue2 = wTouchEffectValue2;
	TouchEffectValue3 = wTouchEffectValue3;
	ItemSpecEffectValue1 = wItemSpecEffectValue1;
	ItemSpecEffectValue2 = wItemSpecEffectValue2;
	ItemSpecEffectValue3 = wItemSpecEffectValue3;
	CurLifeSpan = wCurLifeSpan;
	Attribute = dwAttribute;
	ItemColor = bItemColor;
	IsItemEquipped = bIsItemEquipped;
	PutItemInBank = bPutItemInBank;
	ItemPosX = wItemPosX;
	ItemPosY = wItemPosY;
}