簡體   English   中英

將char數組轉換為WCHAR數組的最簡單方法是什么?

[英]What is the easiest way to convert a char array to a WCHAR array?

在我的代碼中,我收到一個const char array ,如下所示:

const char * myString = someFunction();

現在,我想將其作為wchar array進行后處理,因為之后使用的函數無法處理狹窄的字符串。

實現這個目標的最簡單方法是什么?

最終是MultiByteToWideChar嗎? (但是,由於它是我輸入的窄字符串,因此它沒有多字節字符=>可能不是最漂亮的解決方案)

除非您在窄字符串中使用擴展字符,否則MultiByteToWideChar將起作用。 如果它是純字母數字字符串,則應該可以正常工作。

您還可以看一下mbstowcs,它雖然不太復雜,但是卻無法提供相同的控制量。

const char * myString = someFunction();
const int len = strlen(myString);
std::vector<wchar_t> myWString (len);
std::copy(myString, myString + len, myWString.begin());
const wchar_t * result = &myWString[0];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM