繁体   English   中英

在C中将char *转换为wchar *

[英]Convert char* to wchar* in C

我想在C中将char*字符串转换为wchar*字符串。

我找到了很多答案,但大多数答案都是针对C ++的。 你可以帮帮我吗?

谢谢。

尝试使用%hs标志的swprintf

例:

wchar_t  ws[100];
swprintf(ws, 100, L"%hs", "ansi string");

setlocale()后跟mbstowcs()

你在寻找什么

mbstowcs

就像从char *到char *的复制功能一样工作

但是在这种情况下你要保存到wchar_t *

如果您碰巧使用了Windows API,则转换函数MultiByteToWideChar提供了一些可配置的字符串转换,从不同的编码转换为UTF-16。 如果您不太关心可移植性并且不想确切知道不同语言环境设置对字符串转换的影响,那么这可能更合适。

如果你目前有ANSI字符。 只需在每个char之前插入一个0('\\ 0')并将它们转换为wchar_t *。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM