CSocket:Receive()函数回来成功但是接受字符串乱码

CSocket::Receive()函数返回成功但是接受字符串乱码
TCHAR szRecv[20];
int iRecv=m_sockReceive.Receive(szRecv,10,0);
其中iRecv的值为2,我在服务器端发送两个字节,但是为什么szRecv接受不到呢,还是定义时候的乱码。

------解决方案--------------------
这里的unicode,TCHAR是两个字节表示一个字符,
比如你发送ab两个字符过来,放到TCHAR中就不是ab字符串了
相当于这样:
char *ab = "ab";
TCHAR *tc = (TCHAR*)ab;
这个时候显示tc的话是错的