BOOL ClientConnectServer(int robot_num,char ip1[16],char port1[16])
{
static int no = 1;
no = robot_num;
InitMember();
printf("==%d\n",_countof(ip[0]));
strncpy_s(&ip[no-1][0],_countof(ip[0]),ip1,strlen(ip1));
strncpy_s(&port[no-1][0],_countof(port[0]),port1,strlen(port1));
InitSockt(no);
ConnectServer(no);
return bConnecting;
{
static int no = 1;
no = robot_num;
InitMember();
printf("==%d\n",_countof(ip[0]));
strncpy_s(&ip[no-1][0],_countof(ip[0]),ip1,strlen(ip1));
strncpy_s(&port[no-1][0],_countof(port[0]),port1,strlen(port1));
InitSockt(no);
ConnectServer(no);
return bConnecting;
}
1._countof 是一个宏定义,相当于sizeof,但没有sizeof的局限
2.strncpy_s是按照字符拷贝的,遇到\0就停止拷贝了,在拷贝接收后自动添加\0; 而strcpy_s是为字符串准备的,把\0也拷贝过去了,可能覆盖目标对象的值。
另外目标地址一定要memset,其他如_s的知识点大家都知道。