errno_t strcpy_s(
   char *strDestination,
   size_t numberOfElements,
   const char *strSource 
);
strcpy_s应该有三个参数

解决方案 »

  1.   

    不好意思.二个参数也可以
    template <size_t size>
    errno_t strcpy_s(
       char (&strDestination)[size],
       const char *strSource 
    ); // C++ only
    没用过vs2005,我的vs2003不支持strcpy_s
    但可以用strcpy来实现
      

  2.   

    如果是在VC2005下
    下面这句的执行效果是 str 缓存里存的是 wchar_t 类型的字符
    CString str = "beijing"; 而a[1024] 里存的是MBCS多节的字符 所以得先用WideCharToMultiByte()将宽字符转为多字节的字符串
    然后才能存到a[1024]里
      

  3.   

    不行的话,你的就是unicode工程
    要用TCHAR和对应的函数_tcscpy_s