linux上的tchar.h

Sud*_*han 19 c++ linux tchar internationalization

我正在尝试编写跨平台的i18n C++代码.由于大多数linux系统更喜欢使用UTF-8作为字符编码,我认为我应该在Linux上使用string,在Windows上使用wstring.Linux上有tchar.h吗?什么是Linux上的tchar.h的等效替换?

Pau*_*ier 11

您可能会发现这篇文章很有用.特别是,接近结束时,他们讨论了一些关于使用TCHAR和处理Windows代码的问题.

文章摘要是:

当使用GNU C编译器编译此代码时,TCHAR将被转换为宽字符数据类型(大多数可移植库在其标头中定义TCHAR并引用wchar_t).事实上,这就是我将C++程序转换为anagram生成器的方式:我使用了填充UTF-8的标准C++字符串,并使用指向wchar_t的指针将数据提供给库函数.解释为UTF-32的UTF-8数据等于垃圾(但它对数据和错误的混淆非常有用).

  • 需要说明的是,tchar.h仅适用于Windows.但是滚动你自己的tchar.h是相当简单的. (4认同)