手机显示的语言咋改成中文10?如何记忆 C/C++ 中各类字符串类型之间的转换

发表时间:2018-02-13 16:06:04 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《神舟战神Z7M两款的区别?神舟战神z7m-sl7值得入手么》相关知识。本篇中小编将再为您讲解标题手机显示的语言咋改成中文10?如何记忆 C/C++ 中各类字符串类型之间的转换。

我买了个③星i⑨①⑨②的水货手机,欧版的··恢复出厂设置后不知道怎么改正中文的了

进去后选第①个,然后找到Chinese进入设置,看到①个la开头的就是语言选项

设置里,语言输入法,选择中文就行,或者你给个截图,我给你看看

设置里面改

先记最原始的 ANSI 字符串 LPSTR, 被定义成 char *.

LPCSTR 比 LPSTR 多了个 C, 意思是 const, 所以 LPCSTR 是 const char *.

后来 XP 后 微软又把所有 API 增加了 Unicode 版本(实际是重新开发), 于是在 LPSTR 基础上

加了个 W ,即 LPWSTR, 被定义成 wchat_t.

同理 LPCWSTR 被定义成 const wchar_t *.

可是怎么兼容 以前的 ANSI 版本的 API 呢? 微软用 带 T 的宏 来解决的。

如果 定义了Unicode

那么

TCHAR 被定义成 WCHAR (就是 wchar_t)

LPTSTR 被定义成 LPWSTR (wchar_t *)

LPCTSTR 被定义成 LPCWSTR (const wchar_t *)

否则 /* 那就是用了 ANSI 版本了 */

TCHAR 被定义成 CHAR (就是 char 了)

LPTSTR 被定义成 LPSTR (char *)

LPCTSTR 被定义成 LPCSTR (const char *)

对应的,实际的函数名 以 A 结尾的 对应 ANSI 版本,而以 W 结尾的 对应的 Unicode 版本.

(其实 ANSI 版本现在都是 将参数先转成 宽字符,再调用 Unicode 版本)

比如 MessageBoxA 和 MessageBoxW

最后我们用的 MessageBox, 其实也是宏:

如果 定义了Unicode

那么

MessageBox 就是 MessageBoxW

否则

MessageBox 就是 MessageBoxA

在平时的时候,char * 与 const char * 之间的显式转换很少, 即使用到也很容易转.

偶尔麻烦的就是 ANSI 和 Unicode 之间的转换,有俩API:

Unicode- > ANSI: WideCharToMultiByte

ANSI- > Unicode: MultiByteToWideChar

说真的,这俩 API 若是频繁用到,看定义都麻烦. 所以最好自己稍微做封装①下. 以后直接用自己封转后的版本就好了.

编后语:关于《手机显示的语言咋改成中文10?如何记忆 C/C++ 中各类字符串类型之间的转换》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《csol2 咋调显示队友名字?amd radeon hd 7670m 咋样能玩大型网络游戏么 如DNF5》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题