char 轉LPCWSTR解決方案

2021-09-07 03:18:16 字數 1046 閱讀 3193

在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編碼方...