声明:
LPWSTR** lines= new LPWSTR*[totalLines];
然后我设置使用:
lines[totalLines]=&totalText;
SetWindowText(totalChat,(LPWSTR)lines[totalLines]);
totalLines++;
现在我知道 totalText 是正确的,因为如果我使用 totalText SetWindowText 它工作正常。我也需要 totalLines 中的文本。
我也在做:
//accolating more memory.
int orgSize=size;
LPWSTR** tempArray;
if (totalLines == size) {
size *= 2;
tempArray = new LPWSTR*[size];
memcpy(tempArray, lines,sizeof(LPWSTR)*orgSize);
delete [] lines;
lines = tempArray;
}
在需要时分配更多内存。
我的问题是线路没有获得正确的数据。它第一次工作然后它被损坏了。起初我以为我在覆盖,但 totalLines 增加了。希望这是足够的信息。
最佳答案
LPWSTR
已经是 a pointer ,所以你正在创建一个二维指针数组——这是你想要的吗?我认为不是,因为:
SetWindowText(totalChat,(LPWSTR)lines[totalLines]);
将 LPWSTR*
转换为 LPWSTR
。你的编译器没有提示吗?
关于c++ - 一组 LPWSTR 指针,不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576983/