char* str = "10111001010";
for (int i=0;i<4;i++)
*(str+i) = '0';

解决方案 »

  1.   

    char* str = "10111001010"; //此处str指向常量数据区(代码区?),只读
    改为
    char str[] = "10111001010"; //此处分配存储空间,str指向堆栈区,可读可写
      

  2.   

    第一句话改成char str[] = "10111001010";就OK
      

  3.   

    *(str+i)='0';想改字符串常量,当然报错了。
    char str[] = "10111001010";
    for (int i=0;i<4;i++)
    *(str+i) = '0';
    试一下
      

  4.   

    str指向的是一个常量字符串,这个字符串是不可以改的
      

  5.   

    上面都是正解
    若必须用CString
    就要用str.SetAt();
      

  6.   

    char* str = "10111001010";
    for (int i=0;i<4;i++)
    *(str++) = '0';
      

  7.   

    你到TC中去用吧,不会错的。但是VC就会出错了,看你喜欢谁。