char szStr[20];
if(csStr.GetLength()<20)
{
   lstrcpy(szStr,csStr);
}
else
{
   // 过长截断
   memcpy(szStr,csStr,19)
   szStr[19]='\0';
}

解决方案 »

  1.   

    ZeroMemory( szStr,20 );
    memcpy( szStr,csStr,19 );
      

  2.   

    CString csStr;
    char    szStr;
    ...
    ZeroMemory( szStr,20 );
    memcpy( szStr,csStr,19 ); //直接使用csStr,不用担心csStr的长度问题
    ...
      

  3.   

    更正:char szChar[20]; ^o^
      

  4.   

    用memcpy(szStr,(LPVOID)(LPCTSTR)csStr,20)
    OR
    strcpy(szStr,(LPCTSTR)csStr);
    szStr[19] = 0
      

  5.   

    用memcpy(szStr,(LPVOID)(LPCTSTR)csStr,20)
    OR
    strcpy(szStr,(LPCTSTR)csStr);
    szStr[19] = 0;
      

  6.   

    用memcpy吧,这函数可适用很多范围