刚刚学VC
我定义了一个CString s1="abcd";
访问s1的第n个字符,想用下标方式访问,不知可否:s[n]
编译可通过,但执行时出错。不知正确的方式该怎么样做?

解决方案 »

  1.   

    sl.mid( n, 1 );
    sl.GetAt(n)
      

  2.   

    请问得到的返回值是什么类型?不是字符型吗?下面的用法不对吗?
    s[n]=='a'
      

  3.   

    sl.mid( n, 1 );
    sl.GetAt(n)
    这连个函数的返回至是CString类型的
      

  4.   

    sl.mid( n, 1 );比较好用
      

  5.   


    s1[n] = 'a'; // 是错误的写法
    不允许用下标的方式,该内容;但是可以读
    要改必须用 s1.SetAt(n, a); 的方式或者
    char * pBuf = s1.GetBuffer(s1.GetLength());
    pBuf[n] = 'a';
    a1.ReleaseBuffer();