socket 编程中,memcpy()的问题。

望大神指教。
定义了个结构体:

 struct USERDATA 
{
     char name[30];
     char passwd[30];
}
memcpy(userdata.name,"kakarot",sizeof("kakarot"));
memcpy(userdata.passwd,"123",sizeof("134"));
send() 之后;
char buffer[BUFSIZ] = "0";
recv(clntSock,buffer,BUFSIZ -1,0);
memcpy(&userdata,buffer,strlen(buffer));

可是为什么收的,只收到了name,而passwd为空

memcpy(&userdata,buffer,strlen(buffer));//strlen改为 sizeof(struct USERDATA)

"123",sizeof("134"),是不是这块问题,改成sizeof("123"),
或者你把源代码发下我调试看看