将strcpy替换为strcpy_s就执行成功了
strcpy(tmp,_str)
//替换为
strcpy_s(tmp,strlen(_str)+1, _str);
那strcpy和strcpy_s有什么不同呢?
- 安全性
strcpy_s 更安全,C11标准引入的安全版本字符串复制函数,防止缓冲区溢出
strcpy不检查缓冲区大小,可能会导致缓冲区溢出 - 返回值
strcpy_s发生错误返回错误码
strcpy 不返回错误码 - 参数
strcpy_s显式传递目标缓冲区大小
strcpy不要求传递目标缓冲区大小
将strcpy替换为strcpy_s就执行成功了
strcpy(tmp,_str)
//替换为
strcpy_s(tmp,strlen(_str)+1, _str);
那strcpy和strcpy_s有什么不同呢?
- 安全性
strcpy_s 更安全,C11标准引入的安全版本字符串复制函数,防止缓冲区溢出
strcpy不检查缓冲区大小,可能会导致缓冲区溢出 - 返回值
strcpy_s发生错误返回错误码
strcpy 不返回错误码 - 参数
strcpy_s显式传递目标缓冲区大小
strcpy不要求传递目标缓冲区大小