char* 类型的实参与LPCTSTR类型的形参 不兼容

2025-01-05 05:16:40
推荐回答(3个)
回答1:

解决方法:
菜单 项目 -> 属性 (打开属性页) -> 配置属性 -> 常规 -> 字符集
单前选中的应该是“使用Unicode字符集”,改为“使用多字节字符集”

回答2:

有支持以Unicode编码读取文件的wfstream类,在写MFC,最好不要用fstream这样的类来操作文件,转换数据很麻烦,MFC有自己的File类读取文件。
LPCTSTR 是 Const TCHAR* ,TCHAR 是一个宏,可以是char,也可以是wchar_t,看编译选项的。为了你的代码能够适用这两种情况,你应该注意。

回答3:

LPCTSTR使用的unicode编码,和char*不能直接赋值,要转换一下,使用这个函数MultiByteToWideChar转换就行了,vs默认的是unicode