问题标签 [wide-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9547 浏览

c++ - 在 Windows 下使用非 MSVC 编译器打开带有 Unicode 文件名的文件的 fstream

当文件名是“Unicode”文件名时,我需要以 std::fstream(或实际上任何其他 std::ostream)的形式打开文件。

在 MSVC 下我有非标准扩展std::fstream::open(wchar_t const *,...)?我可以用 GCC(最重要的)和可能的 Borland 编译器等其他编译器做什么。

我知道 CRTL 提供了_wfopen但它提供了 CFILE *接口而不是 io-streams,也许有一种非标准的方式来创建 io-stream FILE *?是否有任何boost::ifstream类似 MSVC 的 Windows 扩展?

0 投票
2 回答
2628 浏览

c++ - utfcpp 和 Win32 宽 API

使用小型utfcpp库将我从广泛的 Windows API(FindFirstFileW 等)返回的所有内容转换为使用 utf16to8 的有效 UTF8 表示是否很好/安全/可能?

我想在内部使用 UTF8,但无法获得正确的输出(在另一次转换或普通 cout 后通过 wcout)。正常的 ASCII 字符当然可以,但是 ñä 会搞砸。

还是有更简单的选择?

谢谢!

更新:感谢 Hans(下),我现在可以通过 Windows API 轻松进行 UTF8<->UTF16 转换。两种方式转换有效,但来自 UTF16 字符串的 UTF8 有一些额外的字符,以后可能会给我带来一些麻烦......)。出于纯粹的友好,我会在这里分享它:)):