argv=strlen(m_strCode[i]);
argv===1???m_strCode 是char???若是,则成立!

解决方案 »

  1.   

    v[i]<<1;
    是干什么的?
    怎么能这样写呢?
    再仔细看看吧
      

  2.   

    不是,m_strCode是Cstring型的
    那么应该怎样进行一个个的字符处理?
      

  3.   

    既然是cstring就应该这样:
    argv=m_strCode.GetLength();还有你后面当二维数组用是什么意思没看懂。
      

  4.   

    m_strCode[256]
    for(i=0;i<256;i++)
    v[i].a=byte(m_strCode[i][j]-48);
    一维数组怎能用二维方式取值。还有会不会越界,还有我越看越不懂在干什么。
      

  5.   

    可以先定义一个char[] myarray;
    然后myarray=m_strCode[i];
    再用for把myarray一个个放入v[a].a中
      

  6.   

    大概应该:struct packed_data
    {
      unsigned b:15;
      unsigned a:1;
      int i;
    };

    struct packed_data v[256];
    int argv;
    for(int i=0;i<256;i++)
    {
      argv = m_strCode[i].GetLength(); 
        //其实strlen(m_strCode[i])也行,C++的概念必须非常清晰才行!!  const char* pStr = m_strCode[i];
        //因为 CString 有const char* CString::operator();
        // 所以不要怕  v[i].i = 0; // 初始化
      for(int j=0;j<argv;j++)
        v[i].i = v[i].i*10 + (pStr[j]-48);
    }