我的程序如下
   声明了
   unsigned char * aDest;
   const char * aSrc;
   int len;
     我写了这么一个方法,主要实现Base64解码,这个方法最后实现的是经过解码,把值赋到aDest上.
但是在调这个方法传值的时候,如果不赋一个值得话,最后返回来这个参数aDest是空的,
但是我写上memset(aDest,0,sizeof(aDest)),报错.
int CRrrDlg::Base64Decode(const char * aSrc,unsigned char * aDest)
{
    unsigned char * p = aDest;
    int             i, n = strlen( aSrc );
    unsigned char   c, t;
    for ( i = 0; i < n; i++ )
    {
        if ( *aSrc == '=' )
            break;
        do
{
if ( *aSrc )
c = Chr2Base( *aSrc++ );
           else
c = 65;  //  字符串结束
        } while ( c == 64 );  //  跳过无效字符,如回车等
        if ( c == 65 )
break;
        switch ( i % 4 )
        {
        case 0 :
            t = c << 2;
            break;
        case 1 :
            *p++ = ( unsigned char )( t | ( c >> 4 ) );
            t = ( unsigned char )( c << 4 );
            break;
        case 2 :
            *p++ = ( unsigned char )( t | ( c >> 2 ) );
            t = ( unsigned char )( c << 6 );
            break;
        case 3:
            *p++ = ( unsigned char )( t | c );
            break;
        }
    }
    return (int)( p-aDest);
}
请教各位高手了,这是任务的最后一天了 .高分相送阿