string 转 LPCWSTR

virtual BOOL TextOut(
   int x,
   int y,
   LPCTSTR lpszString,
   int nCount
);
BOOL TextOut(
   int x,
   int y,
   const CString& str
);

WM_LBUTTONDOWN: {

hdc = BeginPaint(hWnd, &ps);

UINT x = lParam;

UINT y = wParam;

//LPSTR info;

//sprintf(info, "(%d, %d)", x, y);

std::string s1("( " + x);

std::string s2(" , ");

std::string s3(y + " )");

std::string str = s1 + s2 + s3;

TextOut(hdc, 50, 50,
(LPCWSTR)(str.c_str())
, 6);

}

break;

时间: 2024-10-24 09:59:37

string 转 LPCWSTR的相关文章

实战c++中的string系列--string到LPCWSTR的转换

今天再来介绍一下如何从string到LPCWSTR的转换. LPCWSTR是什么类型呢? 看看如何定义的: typedef const wchar_t* LPCWSTR; 顾名思义就是: LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型. 比如说MessageBoxW的第二.第三个参数就是LPCWSTR类型. `MessageBoxW(__in_opt HWND hWnd, __in_opt LPCWSTR lpText, __in_op

string类型转LPCTSTR

今天在写MFC的时候,发现MessageBox函数的类型是LPCTSTR,而我使用C++ STL的string类型却无法直接转,所以在网上找到一段函数,用于转化 std::wstring StoWs(const std::string& s) { int len; int slength = (int)s.length() + 1; len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0); wchar_t* buf = new

推荐使用string

C-string(char* const char*) basic_string<>特化版本:string charwstring wchar_tu16string char16_tu32string char32_t Setlocale是一个计算机函数,功能是用来配置地域的信息,设置当前程序使用的本地化信息.若 locale 为零(NULL),则不会改变地域化配置,返回当前的地域值,若系统尚未实作则返回 false.使用系统默认的设置调用setlocale(LC_ALL,"&quo

P Invoke struct结构

一.获取Struct CHCNetSDK.NET_DVR_PTZPOS pos = new CameraTest.CHCNetSDK.NET_DVR_PTZPOS(); int size = Marshal.SizeOf(typeof(CHCNetSDK.NET_DVR_PTZPOS)); IntPtr ptr = Marshal.AllocHGlobal(size);// 申请内存 uint bytesReturnd = 0; try { if (!CHCNetSDK.NET_DVR_GetD

C杂谈

最近在做关于C的项目开发,记录一下有关C的操作,比较杂乱 1.利用System进行文件数量统计: 1) 1 system("dir /b /s /ad d:\\mydir\\*.* | find /c \":\" >d:\\ndirs.txt"); //读文件d:\\ndirs.txt的内容即d:\\mydir目录下的文件夹数 1 system("dir /b /s /a-d d:\\mydir\\*.* | find /c \":\&qu

.net 中的DllImport

只有做成COM的C++ dll才能直接引用.没有做成COM的就只能用P/Invoke(DllImport)或者C++/CLI那种.不过P/Invoke容易类型对不上,所以要是函数多,最好用C++/CLI的. --------------------------------------------- C++ dll 分两种,文章描述有误.文章所述是静态dll,动态dll是可以直接引用的 ------------------------------------------------- VC++中主

关于C++对汉字拼音的处理(3)

之所以汉字转拼音的博文能出到3,主要是因为没有很完美的C++的解决方案,但是写到了这里可以有一个小结了. 以前的方法都有这种那种弊端,如果出现了无法识别的汉字(简体的)就无法修改处理了,但是下面的这种方法却能够随时修改.添加.删除汉字,这样就可以保证汉字转拼音的正确性了. 另外,对于繁体中文下面的方法并不支持,如果有兴趣的童鞋可以参照下面的方法进行修补完善. 首先说下下面的方法的优缺点: 优点: 1.简单易懂,初学者都能一目了然的看明白,不想某些大神写的东西各种位运算或使用第三方库来完成这个小小

DebugView 使用

最近遇到带加密狗的工程项目,无法使用控制台调试,尝试使用DebugView进行辅助调试. DebugView是一个系统调试信息输出的捕获工具,可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息.支持Debug.Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visual Studio调试时的). 注意点:使用管理员模式打开,否则无法进行Capture Global Win32功能. 使用OutputDebugString(

C#与C++对应的类型

//c++:HANDLE(void   *)       ----   c#:System.IntPtr         //c++:Byte(unsigned   char)   ----    c#:System.Byte          //c++:SHORT(short)           ----    c#:System.Int16          //c++:WORD(unsigned short) ---  c#:System.UInt16         //c++:IN