C++解决:不存在从 “std::string” 到 “LPCWSTR” 的适当转换函数

@TOCC++解决:不存在从 “std::string” 到 “LPCWSTR” 的适当转换函数
解决办法如下:

//orig为输入的string字符串

#include <string>
#include <iostream>
#include<cstdlib>
typedef const wchar_t* LPCWSTR;//#include<winnt.h>
using namespace std;
LPCWSTR stringToLPCWSTR(string orig)
{
	size_t origsize = orig.length() + 1;
	const size_t newsize = 100;
	size_t convertedChars = 0;
	wchar_t* wcstring = new wchar_t[sizeof(wchar_t) * (orig.length() - 1)];
	mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);
	return wcstring;
}
int main()
{
	string in= "this is a txt!";
	LPCWSTR out = stringToLPCWSTR(in);
	wcout << out << endl;
	//别忘了释放内存~
	delete out;
	out = nullptr;
	return 0;
}

结果如图:
在这里插入图片描述

发布了6 篇原创文章 · 获赞 2 · 访问量 817

猜你喜欢

转载自blog.csdn.net/YOURPCMINEPC/article/details/105187282