gpt4 book ai didi

c++ - 错误 C2664 : 'callToPrint' : cannot convert parameter 1 from 'std::wstring' to 'LPTSTR'

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:59 25 4
gpt4 key购买 nike

我按如下方式将窄字符串转换为宽字符串:

string nameOfPrinter;
getline( cin , nameOfPrinter );
wstring WprinterName;
int number = MultiByteToWideChar( CP_UTF8 , 0 , nameOfPrinter.c_str() , nameOfPrinter.size() , &WprinterName , 0 );

// then i make a call to the function whose prototype is callToPrint( LPTSTR , LPVOID , DWORD , string )

// the calling statement is :
callToPrint( WprinterName , -----all other arguments-----,);

// But this call produces the following error error C2664: 'callToPrint' : cannot convert parameter 1 from 'std::wstring' to 'LPTSTR'

为什么会这样?请告诉我如何解决它?

最佳答案

您还需要在此处使用 .c_str()。

此外,我会使用

将打印机名称直接读入 WprinterName
getline(wcin, Wprintername);

关于c++ - 错误 C2664 : 'callToPrint' : cannot convert parameter 1 from 'std::wstring' to 'LPTSTR' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6692249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com