怎样将一个const char * 的变量转变为一个LPCWSTR?
我在网上看到说用TEXT(),但是为什么我将这个constchar*的变量filename写到TEXT(filename)中TEXT下面有红线呢?怎么解决?求指导?不要那...
我在网上看到说用TEXT(),但是为什么我将这个const char * 的变量filename写到TEXT(filename)中TEXT下面有红线呢?怎么解决?求指导?
不要那种改成“未设置”的方法…… 展开
不要那种改成“未设置”的方法…… 展开
2个回答
展开全部
MultiByteToWideChar函数,用于多字节字符串(char*)转宽字符字符串(LPWSTR)。
另:TEXT宏不是这么用的……TEXT宏里面是直接写的字面常量(变量那种都不行)比如TEXT("c:\\1.dat")
另:TEXT宏不是这么用的……TEXT宏里面是直接写的字面常量(变量那种都不行)比如TEXT("c:\\1.dat")
更多追问追答
追问
MultiByteToWideChar函数这个还是不行,提示 说const char * 与UINT 不兼容
追答
喂喂喂你去找这个函数怎么用了么?我大汗
const char* x = "this is a string";
WCHAR y[64];
LPCWSTR py = y;
MultiByteToWideChar(0, 0, x, -1, y, 64);
py就是你要的
展开全部
强制转化行吗?
#define UNICODE
#include <windows.h>
#include <stdio.h>
main(){
const char *filename="abc.txt";
LPCWSTR p;
p = (LPCWSTR) filename;
// printf("%s",p);
}
#define UNICODE
#include <windows.h>
#include <stdio.h>
main(){
const char *filename="abc.txt";
LPCWSTR p;
p = (LPCWSTR) filename;
// printf("%s",p);
}
追问
编码还是不同
追答
编码-- char * 单字节指针。LPCWSTR 双字节指针。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询