在windows程式設計中,經常會碰到字串之間的轉換,char*轉lpcwstr也是其中乙個比較常見的轉換。下面就列出幾種比較常用的轉換方法。
1、通過multibytetowidechar函式轉換
multibytetowidechar函式是將多位元組轉換為寬位元組的乙個api函式,它的原型如下:
int multibytetowidechar(
uint codepage, // code page
dword dwflags, // character-type options
lpcstr lpmultibytestr, // string to map
int cbmultibyte, // number of bytes in string
lpwstr lpwidecharstr, // wide-character buffer
int cchwidechar // size of buffer
);
lpcwstr實際上也是const wchar *型別
char* szstr = "測試字串";
wchar wszclassname[256];
memset(wszclassname,0,sizeof(wszclassname));
multibytetowidechar(cp_acp,0,szstr,strlen(szstr)+1,wszclassname,
sizeof(wszclassname)/sizeof(wszclassname[0]));
恢復預設
systemparametersinfo(spi_setcursors,0,null,spif_sendchange);
需要包含標頭檔案
#include "winuser.h"
#pragma comment(lib, "user32.lib")
char 轉LPCWSTR解決方案
在windows程式設計中,經常會碰到字串之間的轉換,char 轉lpcwstr也是其中乙個比較常見的轉換。下面就列出幾種比較常用的轉換方法。1 通過multibytetowidechar函式轉換 multibytetowidechar函式是將多位元組轉換為寬位元組的乙個api函式,它的原型如下 i...
C 中char 轉換為LPCWSTR的解決方案
最近在學習c 遇到了乙個char轉換為lpcwstr的問題,通過查詢資料終於解決了,所以下面這篇文章主要介紹了c 中char轉lpcwstr的解決方案,文中通過詳細的示例 介紹的很詳細,有需要的朋友可以參考借鑑,下面來一起看看吧。前言 大家在學習或者使用windows程式設計中,經常會碰到字串之間的...
MFC中關於char 轉換成LPCWSTR的問題
在寫win32應用程式時候,你可能遭遇到如下錯誤 error c2664 loadimagew cannot convert parameter 2 from char 20 to lpcwstr char 20 轉換為 lpcwstr 一 問題的原因 vs2010預設採用寬字元unicode編碼方...