wchar_t ** WinList动态指针数组到字符数组

时间:2015-06-12 05:53:49

标签: c++ arrays pointers dynamic

我在尝试将wchar_t字符数组存储在全局数组中时遇到问题, 下面是我想要做的代码: -

Unhandled exception at 0x765CE2C3 (usp10.dll) in Win32Project4.exe: 0xC0000005: Access violation reading location 0xCDCDCDCD." is occuring below at the TextOut function, WinList = 0x002802a0 {0xcdcdcdcd <Error reading characters of string.>} : -

错误:

case WM_PAINT: if (WinList != nullptr) { PAINTSTRUCT ps; HDC hDC = BeginPaint(hwnd, &ps); for (int iLoop = 0; iLoop != sizeof(WinList); iLoop++) { TextOut(hDC, 5, iLoop*10, WinList[iLoop], (sizeof(WinList[iLoop]) / sizeof(wchar_t))); } } break;

$('#product-grid').jscroll({  
        debug: true,
        autoTriggerUntil: 2,
        nextSelector: '.pager a:last',
        contentSelector: '.product-grid',
        callback:call()
    });

function call()
    {
        alert("hi");
        $("img.lazy").lazyload();
    } 

我尝试过使用malloc和mcscpy之类的函数和代码的各种变体。然而,我似乎误解了我认为的指针范围。我似乎无法理解它。任何解释都将非常感激。我正在使用VS 2013,这更像是一种学习概念而不是更好的方法。不过,我也很欣赏“更好的方法”解决方案。

此致

HonkeyPig

1 个答案:

答案 0 :(得分:0)

您的主要问题是您将回调函数的结果存储在本地变量中,并在返回时立即丢弃。

除此之外

(sizeof(**WinList) / sizeof(wchar_t))

exactly sizeof(pointer)/2,在32位架构上是2 ....