简体   繁体   English

'strcpy':无法将参数2从'WCHAR *'转换为'const char *

[英]'strcpy' : cannot convert parameter 2 from 'WCHAR *' to 'const char *

Having some issues with strcpy... 遇到strcpy问题...

Getting this error: 收到此错误:

strcpy' : cannot convert parameter 2 from 'WCHAR *' to 'const char *

Here is the code... 这是代码...

char FunctionName[ 256 ]; 
UFunction *pUFunc                        = NULL;
strcpy( FunctionName, pUFunc->GetFullName() );

And also: 并且:

WCHAR* UObject::GetFullName ()
{
    if ( this->Class && this->Outer )
    {
        static WCHAR ObjectName[ 256 ];

        if (Outer == NULL)
        {
            wsprintf(ObjectName, L"");
        }
        else
        {
            if (Outer->Outer)
                wsprintf(ObjectName, L"%s %s.%s.%s", Class->Name.GetName(), Outer->Outer->Name.GetName(), Outer->Name.GetName(), Name.GetName());
            else if(Outer)
                wsprintf(ObjectName, L"%s %s.%s", Class->Name.GetName(), Outer->Name.GetName(), Name.GetName());
        }
        return ObjectName;
    }

    return L"(null)";
}

You need wcscpy for WCHAR items, not strcpy. 对于WCHAR项目,您需要wcscpy,而不是strcpy。 But the real problem is that you are trying to convert a wide string to a narrow string. 但是真正的问题是您正在尝试将宽字符串转换为窄字符串。 WideCharToMultiByte since you seem to be on Windows. WideCharToMultiByte因为您似乎在Windows上。

从错误中很明显:strcpy期望将const char*作为第二个参数,并且您正在传递WCHAR*

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误C2664:'strcpy':无法将参数2从'const wchar_t [9]'转换为'const char *'。如何解决此错误? - Error C2664: 'strcpy' : cannot convert parameter 2 from 'const wchar_t [9]' to 'const char *'.How to solve this error? 无法将参数1从'const char *'转换为'const wchar_t *' - cannot convert argument 1 from 'const char *' to 'const wchar_t *' 错误 C2664:“wcscmp”:无法将参数 1 从“CHAR [260]”转换为“const wchar_t *” - error C2664: 'wcscmp' : cannot convert parameter 1 from 'CHAR [260]' to 'const wchar_t *' 无法将参数从const char *转换为char * - cannot convert parameter from `const char *` to `char *` 在参数传递中无法将'const char *'转换为'WCHAR *' - Cannot convert 'const char*' to 'WCHAR*' in argument passing strcpy c ++无法从字符串char *转换参数1 - strcpy c++ cannot convert parameter 1 from string char* 无法将参数4从'void'转换为'const char *' - Cannot convert parameter 4 from 'void' to 'const char *' 无法将参数从WCHAR [100]转换为WCHAR ** - Cannot convert parameter from WCHAR[100] to WCHAR** 无法将“const char*”转换为“LPCWSTR {aka const wchar_t*}” - cannot convert 'const char*' to 'LPCWSTR {aka const wchar_t*}' '默认参数':无法从'const char [1]'转换为'const wchar_t *' - 'default argument' : cannot convert from 'const char [1]' to 'const wchar_t *'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM