c++ - 一组 LPWSTR 指针,不能正常工作

标签 c++ arrays pointers

声明:

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/

相关文章:

c++ - GCC vs VS 匿名类型作为模板参数

c - 在 C 中使用嵌套循环查找数组中的三个相同数字

c++ - 用于 C/C++ 的小型开源 Unicode 库

c++ - C++ 中的运算符重载 = operator

python - 使用numpy将数组分组为嵌套结构

java - C++ 中的 scanf、memset 和几个 while 在 Java 中是什么意思?

c++ - 从成员函数数组访问成员函数

pointers - 如何设计具有可修改字段的结构?

arrays - golang 中的 0 长度 slice 和数组

c++ - 无法在 OSX 上运行已编译的 C++ 可执行文件,可在 Debian 上运行