不能将“const char [9]”转换为“LPCWSTR”

andylauxing 2009-08-08 12:14:36
大家好,我在dll中写的一个自定义函数如下:
void test(LPCTSTR cStr )
{
MessageBox(NULL,(TCHAR *) cStr,"系统提示",64);

}
生成Dll时提示如题错误信息,请问应如何改正.
...全文
415 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
rdsnow 2009-08-11
  • 打赏
  • 举报
回复
不需要强转的,本来就一回事、

错误是因为你第三个参数错误

改成:
void  test(LPCTSTR cStr ) 
{
MessageBoxA(NULL, cStr, L"系统提示", MB_OK);
}


L"系统提示", _T("系统提示"),TEXT("系统提示"),都可以
见习学术士 2009-08-10
  • 打赏
  • 举报
回复
推荐使用 TEXT
gg606 2009-08-10
  • 打赏
  • 举报
回复
void test(LPCTSTR cStr )
{
MessageBox(NULL,(TCHAR *) cStr,"系统提示",64);

}
(TCHAR *)多此一举, LPCTSTR 和 (TCHAR *)是一回事
mwj1984 2009-08-10
  • 打赏
  • 举报
回复
_T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式
echizen109 2009-08-10
  • 打赏
  • 举报
回复
UNICODE改为未设置试下
副组长 2009-08-08
  • 打赏
  • 举报
回复
_T()宏,把字符串放里面,是推荐的用法。

你是UNICODE项目吗?
WOLFLYT 2009-08-08
  • 打赏
  • 举报
回复
好像就是将UNICODE转换成普通字符串的
andylauxing 2009-08-08
  • 打赏
  • 举报
回复
谢谢各位,_T是什么意思呀?
另:按akirya 提示改写,dll可以生成了,其它程序调用时,提示信息出现乱码字符,请问如何改正?,小弟C++新手.TKS.
猞猁狲 2009-08-08
  • 打赏
  • 举报
回复
你在调用 test 函数时,是不是把 const char [9] 类型的变量传给了test函数
副组长 2009-08-08
  • 打赏
  • 举报
回复
UNICODE吧? _T(), TEXT()
Ghost90 2009-08-08
  • 打赏
  • 举报
回复
LPCWSTR 是wchar类型的指针?

char转换成wchar
const char *pFilePathName = "c:\\aa.dll";
int nLen = strlen(pFilePathName) + 1;
int nwLen = MultiByteToWideChar(CP_ACP, 0, pFilePathName, nLen, NULL, 0);

TCHAR lpszFile[256];
MultiByteToWideChar(CP_ACP, 0, pFilePathName, nLen, lpszFile, nwLen);
  • 打赏
  • 举报
回复

MessageBox(NULL,cStr,_T("系统提示"),64);
MoXiaoRab 2009-08-08
  • 打赏
  • 举报
回复
接分吧,LS的都说完了
scsnsjsl_cs_dn 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
MessageBox(NULL,cStr,_T("系统提示"),64); 
[/Quote]

内容概要:本文详细介绍了一个基于ESP32-CAM的智能门禁系统的设计与实现,涵盖系统总体架构、硬件选型、电路设计、软件开发环境搭建、核心代码实现(包括人脸识别算法、Web服务器与远程控制)、系统安全加固、监控与维护等多个方面。系统采用边缘计算模式,在ESP32设备端完成人脸特征提取与比对,实现了本地人脸识别与Web远程控制相结合的功能。通过FreeRTOS多任务调度机制,确保了系统的高效响应。此外,还提供了完整的系统部署与维护指南,包括硬件搭建、软件部署、故障排查、自动备份、更新与监控等。 适合人群:具备一定嵌入式系统开发经验的工程师、物联网爱好者以及从事智能安防产品开发的技术人员。 使用场景及目标:①应用于家庭、办公室等场所的安全门禁管理;②作为教学案例帮助学生理解嵌入式系统、物联网、机器学习在边缘设备上的综合应用;③为开发者提供一个完整的从硬件到软件再到运维的全栈式项目参考。 阅读建议:建议读者结合实际硬件平台动手实践,逐步完成各模块的搭建与调试。重点关注人脸识别算法的实现细节、Web服务器与前端交互逻辑、系统安全性设计及自动化运维脚本的应用,以全面提升对智能物联网系统的理解和开发能力。
源码下载地址: https://pan.quark.cn/s/af87f1d3fb03 在信息技术领域中,显卡被视为计算机系统不可或缺的构成部分,其核心职责在于处理图形与视频数据。特别是在游戏、图形设计以及视频编辑等领域,这些对图像处理能力有严格要求的场景中,显卡的性能表现具有决定性意义。"A卡"通常代表由AMD(Advanced Micro Devices)公司所制造的 Radeon 系列显卡,该产品与NVIDIA公司的Geforce系列显卡在市场上具有同等竞争力。为了保障这些显卡在运行过程中的稳定表现与高效性能,测试工具的应用显得尤为关键。"A卡测试工具R5MEMID"是一款专门为AMD Radeon显卡研发的内存诊断软件。R5MEMID的命名暗示其可能与Radeon 5系列显卡的内存识别或测试功能相关。这个基于DOS环境的程序主要致力于对显卡的显存进行全面检测,旨在帮助用户识别并定位潜在的显存故障。显存,即显卡所配备的内存,主要用于储存图形处理所需的临时信息,一旦显存出现故障,可能会导致显示异常、画面卡顿甚至系统崩溃等不良后果。在应用R5MEMID时,用户需将其置于DOS环境之中执行。鉴于DOS属于命令行驱动的操作系统,用户必须通过输入指令的方式来运行R5MEMID.EXE文件。该程序将执行包括但不限于读写速度测试、内存稳定性评估、错误校验等多项检测,以此来评估显存的健康状态。若在测试期间捕捉到异常现象,例如数据错误或访问冲突等情况,R5MEMID会予以记录,从而协助用户判定显存是否存在问题。在开展测试之前,强烈建议用户对重要数据进行备份,因为诊断过程有可能引发系统运行不稳定,特别是在显存存在瑕疵时更为明显。再者,尽管R5MEMID能够实现有效的故障定位,...

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧