我想轉換爲wchar_t *爲char *和我的記憶中浪費的解決辦法是大小需要構建一個char *出* wchar_t的在c
char *wstrtostr(const wchar_t *text) {
size_t size = wcslen(text)*sizeof(wchar_t)+1;
char *sa = malloc(size);
wcstombs(sa,text,size);
return sa;
}
的字符可能是單字節或多字節和wcslen會計算它們,不管它們的字符大小是否相同。
問題是我們如何確定wchar的等效字符大小,以便我們可以爲此特定問題構建wcslen的替代方案,從而確定構建char指針所需的大小?
爲什麼不閱讀'wcstombs'手冊? –
加起來[* Kerrek SB *的評論](http://stackoverflow.com/questions/41441050/size-needed-to-construct-a-char-out-of-wchar-t-in-c# comment70088254_41441050):http://man7.org/linux/man-pages/man3/wcstombs.3.html – alk