用memcpy_s()安全复制字符串

用memcpy_s()安全复制字符串

字符串一生之敌QAQ

昨天在写字符串的时候赋值总是出现问题。常见的做法有:

1.不安全,导致缓冲区溢出,可以用strcpy_s替代

 #define _CRT_SECURE_NO_WARNINGS
 ......
 strcpy(char *strDestination,const char *strSource);

2.不安全,导致缓冲区溢出

 #define _CRT_SECURE_NO_WARNINGS
 ......
 memcpy(void *dest, const void *src,size_t count);

最后在Microsoft Docs找的这个函数

VS特用函数,oj不支持

以下代码为:把const char*_name 赋值给 char *name;

	errno_t err, err1;
	memset(name, 0, sizeof(name));
	err = memcpy_s(name, sizeof(char) * strlen(_name), _name, sizeof(char) * strlen(_name));
	if (err)
	{
		cout << "Error executing memcpy_s.\n";
	}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值