为了账号安全,请及时绑定邮箱和手机立即绑定

C++ 使用strcpy_s函数将字符串复制到字符数组?

/ 猿问

C++ 使用strcpy_s函数将字符串复制到字符数组?

Yii
开满天机 2019-02-04 10:06:44

C++ 使用strcpy_s函数将字符串复制到字符数组


查看完整描述

3 回答

?
冉冉说

strcpy_s有两个重载版本
strcpy_s<dest size>(dest,src);
dest size必须是编译期常量 且必须是sizeof(dest);

第二个版本是目的长度执行期才知道

strcpy_s(dest, sizeof(dest),src);

之所以加后缀 _s 是因为防止拷贝时缓冲区溢出,所以程序员务必告诉 C runtime 目的地址确切的长度。

查看完整回答
反对 回复 2019-03-20
?
翻阅古今
1234567891011#include <iostream>#include <string>int main(){    char name1[20] = "吃了没?世界";    std::string name2 =  "吃了" ;    strcpy_s(name1, name2.size()+1, name2.c_str());//这个改成name2.c_str(),name2是string类型,不是char*    std::cout << name1 << std::endl;    std::cin.get();    return 0;}


查看完整回答
反对 回复 2019-03-20
?
慕后森


strcpy_s(name1,name2.size()+1,name2);
写成
strcpy_s(name1,name2.size()+1,name2.c_str());

查看完整回答
反对 回复 2019-03-20
  • 3 回答
  • 0 关注
  • 474 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信