char aa[10];
memset(aa,0,10);
memcpy(aa,"abc",3);
char* a;a=NULL;
for (int i=0;i<3;i++)
    如何让a分别等于a ,b ,c 
    或memcpy(aa,"aaabbbccc",9);怎么让a分别等于aaa,bbb,ccc
???
}

解决方案 »

  1.   

    void CAaaDlg::OnButton3() 

    char aa[10];
    memset(aa,0,10);
    memcpy(aa,"abc",3);
    char* a;a=NULL;
    for (int i=0;i<3;i++)
        a=aa[i];
    }不行!
      

  2.   

    a是一个字符指针,只能让它指到哪里,不可能等于a,b,c.
    让a分别等于a ,b ,c或者让a分别等于aaa,bbb,ccc,只能另说明明一个字符数组,把需要的字符拷贝进去。如:
    char aa[10];
    memset(aa,0,10);
    memcpy(aa,"abc",3);
    char a[10];
    for (int i=0;i<3;i++)
    {
      memcpy(a,aa,1) ;
      a[1] = 0 ;
    }
      

  3.   

    用指针指向也行,但这样不可以
    char aa[10];
    memset(aa,0,10);
    memcpy(aa,"abc",3);
    char* a;a=NULL;
    for (int i=0;i<3;i++)
        a=aa[i];如果让a分别指向a,b,c也行
    我想用i分别态的得到数据!
      

  4.   

    char aa[10];
    memset(aa,0,10);
    memcpy(aa,"abc",3);
    char a[10];
    for (int i=0;i<3;i++)
    {
      memcpy(a,aa,1) ;
      a[1] = 0 ;
    }
    如果aa里为aaabbbccc时,怎么动态的用i来把这值写到a这个数组里?
      

  5.   

    char aa[10];
    memset(aa,0,10);
    memcpy(aa,"abc",3);
    char a[10];
    int iCont=0;
    for (int i=0;i<3;i++)
    {
      if(!strcpy('a',aa[i]))
      {a[iCont] = aa[i];iCont++;}
      if(!strcpy('b',aa[i]))
      {a[iCont] = aa[i];iCont++;}
      if(!strcpy('c',aa[i]))
      {a[iCont] = aa[i];iCont++;}
    }
    //iCont为字符数组a的当前可用下标变量,当燃还要加入下标检测,不然超出后会非法操作。