Win32程序:与"LPCWSTR"类型的形参不兼容

出现该问题的原因是通常手动输入的字符串都是LPCSTR类型的,

解决办法如下:

在工程处右键,属性-常规-字符集,将Unicode字符集改为为多字节字符集,应用并确认即可。

 

字符串常量报错:

在常量报错时使用”_T”宏(若出现未定义标识符,则需增加头文件#include <tchar.h>),格式:_T( )

或者使用关键字“L”,格式:L""

或者使用TEXT,格式TEXT( )

时间: 2024-10-12 20:43:38

Win32程序:与"LPCWSTR"类型的形参不兼容的相关文章

MFC中字符串赋值出现“Error:“const char*”类型的实参与“LPCWSTR”类型的形参不兼容”错误的解决方法

在编译MFC工程时,写下面代码出现了“Error:“const char*”类型的实参与“LPCWSTR”类型的形参不兼容”的错误. TextOut(hdc,0,0,"Mercedes",strlen("Mercedes")); 这是由于工程采用Unicode编码,这时“Mercedes”字符串类型为“wchar_t*”, 这时应该这样赋值: TextOut(hdc,0,0,_T("Mercedes"),strlen("Mercedes

Error:const char* 类型的实参和LPCWSTR类型的形参不兼容的解决方法。

在C++的Windows 应用程序中经常碰到这种情况. 解决方法: 加入如下转换函数: LPCWSTR stringToLPCWSTR(std::string orig) { size_t origsize = orig.length() + 1; const size_t newsize = 100; size_t convertedChars = 0; wchar_t *wcstring = (wchar_t *) malloc(sizeof(wchar_t) *(orig.length()

Error:不能将&quot;char*&quot;类型的值分配到&quot;LPSTR&quot;类型的实体 或者 &quot;char*&quot;类型的实参与&quot;LPCWSTR&quot;类型的形参不兼容

选择"XXX项目"->"属性"->"配置属性"->"常规"选项中,把"使用 Unicode 字符集"改为"使用多字节字符集",然后确定.如下图(VS2012):

Error:不能将&quot;char*&quot;类型的值分配到&quot;LPSTR&quot;类型的实体 也许 &quot;char*&quot;类型的实参与&quot;LPCWSTR&quot;类型的形参不兼容

http://www.myexception.cn/ruby-rails/1876106.html 选择“XXX项目”->“属性”->“配置属性”->“常规”选项中,把“使用 Unicode 字符集”改为“使用多字节字符集”,然后确定.如下图(VS2012):

在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?

今天在做 COS脚本解释器的时候,遇到了这个问题 先了解一下 LPCTCHAR 这个东东 LPCTSTR用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串. 那么什么叫UNICODE(统一码)??? 背景知识:    计算机发明后,为了在计算机中表示字符,人们制定了一种编码,叫ASCII码.ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个

Win32 程序开发:窗口类结构体 WNDCLASS 和 WNDCLASSEX

一.窗口类结构体简介 窗口类结构体包含了窗口的各种参数信息.比如:窗口的图标.菜单栏.背景颜色.窗口的消息处理等等. 窗口类结构体有两个:WNDCLASS(早期版本) 和 WNDCLASSEX(新版本).至于为什么有 WNDCLASSEX 还要保留老版本的 WNDCLASS?主要是为了兼容以前使用老版本开发的 Win32 程序才保留的. 二.窗口类结构体的成员变量 这里暂时只介绍新版本的 WNDCLASSEX,也更推荐使用新版本的. typedef struct tagWNDCLASSEXW {

Windows程序设计笔记1:第2章:win32程序运行原理

第2章:win32程序运行原理 内核对象:对象句柄,标示符,进程相关的,只能被1个进程里面的其他线程访问,不透明的,封装过的. 创建进程:返回STARTUPINFO类型的变量对象,包含了父进程传递给子进程的显示信息,   STARTUPINFO是一种类类型,和内含的类型是一样的, STARTUPINFO si={sizeof(&si)}; //初始化startupinfo的大小 ::GetStartupinfo(&si); //调用startupinfo对象 创建进程:CreateProc

【DirectX11-Tutorial】运行第一个win32程序A Primer of Basic Windows

DirectX11-Tutorial 本系列主要参考此博客的文章,同时会加上一点个人实践过程. ========================================== 分割线 ========================================== <span style="font-family:Microsoft YaHei;font-size:14px;">#include <stdio.h> // include the sta

第二章--Win32程序运行原理 (部分概念及代码讲解)

学习<Windows程序设计>记录 概念贴士: 1. 每个进程都有赋予它自己的私有地址空间.当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不能被该线程访问. PS:进程A在其地址空间的0x12345678地址处能够有一个数据结构,而进程B能够在其地址空间的0x12345678处存储一个完全不同的数据.彼此不能访问. 2. 在大多数系统中,Windows将地址空间的一半(4GB的前一半,0x00000000-0x7FFFFFFF)留给进程作为私有存