VS2010 (VC2010)建立工程时默认的字符集是Unicode,所以在代码中使用MessageBox时需要输入Unicode,用TEXT()这个宏输入参数,否则会报错:   代码:MessageBox(TEXT("消息对话框"),TEXT("提示"), MB_OK|MB_OKCANCEL);   错误:error C2664: "CWnd::MessageBoxW": 不能将参数 1 从"const char [3]"转…
vs2008提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 在外面用vs2005编写mfc程序的时候经常要MessageBox("提示信息")函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示: error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 这个错误提示的原因是VS20…
编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode的属性. 解决方法一: 在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点“配置属性”,是个“+”号,把它展开,然后选“常规”选项卡,倒数第三项“字符集”,选择“使用多字节字符集”.问题解决. 不过还是建议使用Unicode,否则你的程序将有很大的局限性:要是你的程序只在西方发布还好,但毕竟是适应中国大陆的程序吧,所以建议使用Unicode. 解决方法二: 使用调用CSt…
試試用強制轉換變數型態的方法吧,像這樣(LPCTSTR)"WinSun",若不行再試L"WinSun",再不行試_L"WinSun".…
原本打算在QT用一个字符串"ABCDEF12345"作为类zajiao的构造函数的参数,用来创建类zajiao的对象zajiao1. zajiao zajiao1("ABCDEF12345"); 结果提示: F:\Users\denggelin\Documents\qtduojicheng\main.cpp:31: error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12…
问题出现 编译平台:VS2013     Windows 出现地方:在使用LoadLibrary( )函数动态链接DLL文件时出现的一个问题 Eg.   在使用 UNICODE字符的工程中,  HINSTANCE hIcmp = LoadLibrary( "ICMP.DLL" );         报错:error C2664: “HMODULE LoadLibraryW(LPCWSTR)”: 无法将参数 1 从“const char [9]”转换为“LPCWSTR” 分析原因 当前工…
转自VC错误:http://www.vcerror.com/?p=1395 问题描述: 代码: CString str("asdfafda"); str.Remove("asd"); 编译报错 error C2664: "ATL::CStringT<BaseType,StringTraits>::Remove": 不能将参数 1 从"const char [4]"转换为"char" error…
解决该问题的方法:使用strcpy函数进行字符串拷贝   原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 和 #include <stdio.h> 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针.   // testArray.cpp…
转自:http://blog.sina.com.cn/s/blog_4aa4593d0100odra.html 问题的原因是字符串ANSI和Unicode编码的区别, VC6与VS2003等默认使用ANSI编码,而VS2005默认采用Unicode.简单的说,ANSI用1个字节表示字符,Unicode用2个字节表示1个字符.若想要你的代码在VS2005中编译通过,3中方法:1.可修改编码选项:项目属性-->配置属性-->常规-->字符集-->使用多字节字符集2.把你字符串定义为宽字…
转: const char to LPCTSTR不能转化问题 Visual C++ 2008里cannot convert parameter 1 from 'const char [13]' to 'LPCTSTR'造成不能运行的原因主要是2005和2008中增加了一些参数类型的安全性检查,所以通常在6.0没有问题的LPCTSTR与 const char之间的转换到了这里就玩不转.微软给出的解决办法有两个: Change your project configuration to use mu…