学习笔记---strncpy_s最安全 和二维数据搭配

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;

}

1._countof 是一个宏定义,相当于sizeof,但没有sizeof的局限

2.strncpy_s是按照字符拷贝的,遇到\0就停止拷贝了,在拷贝接收后自动添加\0;   而strcpy_s是为字符串准备的,把\0也拷贝过去了,可能覆盖目标对象的值。

另外目标地址一定要memset,其他如_s的知识点大家都知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值