Mfc 无法将参数1从';常量字符[6]';至';康斯特沃克哈特酒店*
我是MFC的新手,不知道如何处理这个错误 错误 错误C2664:'void ATL::CStringT::Format(const wchar_t*,…)':无法将参数1从“常量字符[6]”转换为 “const wchar\u t*” 这是一行:Mfc 无法将参数1从';常量字符[6]';至';康斯特沃克哈特酒店*,mfc,cstring,Mfc,Cstring,我是MFC的新手,不知道如何处理这个错误 错误 错误C2664:'void ATL::CStringT::Format(const wchar_t*,…)':无法将参数1从“常量字符[6]”转换为 “const wchar\u t*” 这是一行: m_Echo1.Format("%d %",state.dwMemoryLoad); 默认情况下,Windows应用程序设置为使用16位字符,而不是8位字符。将带引号的字符串更改为L“%d%”,以指定由16位字符组成的字符串。默认情况下,Window
m_Echo1.Format("%d %",state.dwMemoryLoad);
默认情况下,Windows应用程序设置为使用16位字符,而不是8位字符。将带引号的字符串更改为L“%d%”,以指定由16位字符组成的字符串。默认情况下,Windows应用程序设置为使用16位字符,而不是8位字符。将带引号的字符串更改为L“%d%”,以指定由16位字符组成的字符串。您发布的代码行有两个明显错误:
%
)。如果希望格式字符串包含文字百分比符号,则必须使用%%
对其进行转义m_Echo1
是CString
类型,则必须将参数包装在\u T
或文本
宏中:\u T(“%d%%”)
。如果m_Echo1
的类型为CStringW
,则必须通过在参数前面加上L
:L“%d%%”
将其作为UNICODE字符串文本传递注意:您发布的错误消息与代码行不匹配。错误消息指的是
const char[6]
,而代码中的字符串文字类型为const char[5]
。确保错误消息和代码匹配。您发布的代码行有两个明显的错误:
%
)。如果希望格式字符串包含文字百分比符号,则必须使用%%
对其进行转义m_Echo1
是CString
类型,则必须将参数包装在\u T
或文本
宏中:\u T(“%d%%”)
。如果m_Echo1
的类型为CStringW
,则必须通过在参数前面加上L
:L“%d%%”
将其作为UNICODE字符串文本传递注意:您发布的错误消息与代码行不匹配。错误消息指的是
const char[6]
,而代码中的字符串文字类型为const char[5]
。确保错误消息和代码匹配。两条注释:使用T宏几乎总是更好的-因此\u T(“%d%%”)
。单个独立的%
不是有效的格式说明符。我相信较新版本的Microsoft库在运行时遇到安全异常时会引发安全异常。两个注释:使用T宏几乎总是更好的—因此\u T(“%d%%”)
。单个独立的%
不是有效的格式说明符。我相信新版本的Microsoft库在运行时遇到安全异常时会引发安全异常。