我用CArry建一索引表,里面存入了东西,为什么读不出来?
我是这样写的:
char *buffer;
int i;
DWORD size = ptrstring.GetSize();
for(i=0;i<size;i++)
buffer = ptrstring.GetAt(i);
........ptrstring就是那个索引表
调试的时候,已经写进去了,size的值也对,buffer却读不出内容。请教了。
另:调试的时候,如何能看到ptrstring索引表里的内容?
多谢指点!!

解决方案 »

  1.   

    *buffer好象要先分配空间才行把!
      

  2.   

    buffer没有分配内存,应该写不进去。
    如果的ptrstring是字符串。可以用下面的试一下
    char *buffer=(char *)((LPCTSTR)ptrstring).
    buffer[0],buffer[1]、、、、、、就是你要的值
      

  3.   

    ptrstring你如何声明的?buffer = ptrstring.GetAt(i);将调用拷贝构造函数,和你的声明有直接的关系
      

  4.   

    TO西西:
    typedef CArray<char*,char*> ptrstring
    我是这样声明的,请指教。
      

  5.   

    如下:
    (typedef CArray<char*,char*> ptrstring,你这的typedef是想作个宏定义?) CArray<char*,char*> ptrstring;
    char * p1 = "tsets";
    char * p2 = "tts"; ptrstring.Add(p1);
    ptrstring.Add(p2); char *buffer;
    int i;
    DWORD size = ptrstring.GetSize();
    for(i=0;i<size;i++)
    buffer = ptrstring.GetAt(i);
      

  6.   

    to西西:
    如果
    char p1[10];
    char p2[10]="abcdefghi";
    memcpy(p1,p2,5);
    p1[5]=0;//我想将p1的填充去掉
    ptrstring.Add(p1);
    这样行吗?
    谢谢。