socket的recv乱码~

socket的recv乱码~求救~
c++用socket发送消息和文件。
只是在接收端,我的电脑接受消息时会先出现一段乱码,再出现应该发送的信息,但是其他电脑都不会,为什么会这样~~~~
发送端:
#include<WinSock2.h>
#include<iostream>
#pragma comment (lib,"ws2_32.lib")
using namespace std;

void main(void)
{
WSADATA wsaData;
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
cout<<"Winsock初始化失败。"<<endl;
return;
}

SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(5150);

if(bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR))==SOCKET_ERROR)
{
cout<<"绑定出错。"<<endl;
cout<<WSAGetLastError()<<endl;
WSACleanup();
return;
}
else
cout<<"绑定成功。"<<endl;

if(listen(sockSrv,5)==SOCKET_ERROR)
{
cout<<"监听出错。"<<endl;
cout<<WSAGetLastError()<<endl;
WSACleanup();
return;
}
else
cout<<"监听成功。"<<endl;

SOCKET SockConn;
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);

SockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len);

if(SockConn == INVALID_SOCKET)
{
cout<<"接受出错。"<<endl;
cout<<WSAGetLastError()<<endl;
WSACleanup();
return;
}
else
cout<<"接受成功。"<<endl;

char sendbufMess[1024];
memset(sendbufMess,0,sizeof(sendbufMess));
sprintf(sendbufMess,"你好!!欢迎来到IP为%s的服务器。",inet_ntoa(addrClient.sin_addr));
send(SockConn,sendbufMess,strlen(sendbufMess)+1,0);

char recvbuf[1024];
recv(SockConn,recvbuf,strlen(recvbuf),0);
cout<<recvbuf<<endl;

    char sendbuf[1024];
    DWORD        dwRead;
    BOOL         bRet;
char filename[64];
char filepath[128];
cout<<"请输入文件名(例如:example.txt):";
cin>>filename;
send(SockConn,filename,strlen(filename)+1,0);
cout<<"请输入文件的绝对路径(例如:d:\\\\example.txt):";
cin>>filepath;
    HANDLE hFile=CreateFileA(filepath,GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    while(true)
{
bRet=ReadFile(hFile,sendbuf,1024,&dwRead,NULL);
        if(bRet==FALSE)
        {
            cout<<"文件读取错误。"<<endl;
            break;
        }
        else if(dwRead==0)
        {
            cout<<"文件发送成功。"<<endl;
            break;
        }
        else
        {
            send(SockConn,sendbuf,dwRead,0);
        }
    }

closesocket(SockConn);
closesocket(sockSrv);

WSACleanup();

system("pause");
}

接收端:
#include<WinSock2.h>