strcpy_s((LPSTR)a,100,(LPSTR)(LPCTSTR)m_str); 

解决方案 »

  1.   

    如果是我,我会直接strcpy( a, str );不懂你为什么那样做。
      

  2.   

    最好的办法就是不用char*不用CString,而用标准库的string,又快又好用还没有微软的那堆warning
      

  3.   

    CString str="123213214fdsafasdf"; 
    char * p = str.GetBuffer(str.GetLength()) ; 
    strcpy(a,p); 
    str.ReleaseBuffer();
      

  4.   

    strcpy(a.str)直接用也是可以的亚,呵呵,为什么要转换呢
      

  5.   

    现在只要用strcpy都会有警告,用strcpy_s就没。不过,我从来不管这些警告的。
      

  6.   

    #pragma warning(disable : 4996)
      

  7.   

    因为strcpy(a,b)不检查a是不是有足够的空间来容纳a,如果a没有足够的空间的话,会发生运行时错误.微软认为这是不安全的,他们不推荐这种用法,所以会发出警告.如果你能够确保a有足够的空间的话,可以不理会这个警告!!
      

  8.   

    strcpy( a, str ); 
    我这样用,根本编译不过的
      

  9.   

    如它所推荐:
    #define _CRT_SECURE_NO_DEPRECATE