当前位置: 代码迷 >> WinCE >> error C2660: “strcpy_s”: 函数不接受 二 个参数 求解答
  详细解决方案

error C2660: “strcpy_s”: 函数不接受 二 个参数 求解答

热度:347   发布时间:2016-04-28 11:58:37.0
error C2660: “strcpy_s”: 函数不接受 2 个参数 求解答
代码:
       char data[256] = {0};
strcpy_s(data, "aaaaaa");

这个代码在xp系统里是正常的,我把代码拷贝到wince下编译出错,信息如下:
error C2660: “strcpy_s”: 函数不接受 2 个参数 wince

我看了一下,需要3个参数
改成 strcpy_s(data, 255, "aaa"); 就编译通过了,啥原因?XP系统和Wince下不能同样的写??
------解决方案--------------------
请看 MSDN 帮助:http://ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vccrt/html/611326f3-7929-4a5d-a465-a4683af3b053.htm

由于  WinCE 下,默认的字符集是 Unicode 的,所以字符串操作最好使用:wcscpy_s
strcpy_s 在 _UNICODE & _MBCS 时是:not defined

在 VS2010 中能编译通过,是因为:using template versions of strcpy_s and strcat_s。
  相关解决方案