执行strcpy_s时缓冲区太小

时间:2013-10-05 09:47:30

标签: c windows windows-7-x64 visual-studio-2010

我知道为什么我的代码片段在使用strcpy_s时抛出异常"Buffer is too small"但是如果我执行strcpy或CopyMemory没有问题?

WindowClass(LPCTSTR pszClassName, WNDPROC pfnWndProc) : m_pszClassName(0)
{
    ...

    if( RegisterClass(&wc) )
    {
        size_t cbClassName = strlen(pszClassName);
        m_pszClassName = (LPTSTR)LocalAlloc(LPTR, cbClassName + 1);

        if( m_pszClassName )
        {
            //strcpy(m_pszClassName, pszClassName);
            strcpy_s(m_pszClassName, cbClassName, pszClassName);
            //CopyMemory(m_pszClassName, pszClassName, cbClassName);
        }
        else
        {
            UnregisterClass(pszClassName, hinst);
        }
    }
}

目标是没有UNICODE的VS2012上的Win7x64。

0 个答案:

没有答案