代码:
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。