1.以char name[]="zephyr"为例,一般不用name++这样的操作,用也只用name+2取到p,用name+3取到h;
2.当然不能这样赋值,就是两个字符串,也不能这样赋值,何况还是CString呢?我一般用sprintf(name, m_edit1)来完成赋值。

解决方案 »

  1.   

    1.当将一个数组作为参数传递时,传递的是该数组第一个元素的地址,在函数内部对于该指针的操作并没有改变你所说的“数组名是指向第0号元素的“常量指针”的指针值,而只是改变了该指针所只向的值的内容,并不矛盾。
    2。转换过程如下所示:
             char test[10];
    CString strTemp("sfsaf");
    strcpy(test,strTemp.GetBuffer(strTemp.GetLength()));
    strTemp.ReleaseBuffer( );
    AfxMessageBox(test);