gpt4 book ai didi

android - swprintf() 不适用于 Android Kitkat 及以下版本?

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:29 25 4
gpt4 key购买 nike

大部分时间我在 Android 上使用 UTF-8,但我最近也在测试 wchar_t。我知道 wchar_t 在早期很糟糕,但我不关心太旧的设备,所以认为现在使用 wchar_t 会很好。

测试于:

物理设备:Samsung Galaxy Note2 (4.4.2)、Galaxy S7 Edge (7.0)

软件模拟器:HTC One (4.3)、Samsung Galaxy S6 (5.0、6.0)、S8 (7.0)、Google Pixel C (7.1.0)

在我的简单测试中,wcslen()wcscpy()wcscat() 按预期工作,但是 swprintf()HTC One (4.3) 和 Note2(4.4.2) 上什么也没做。我无法测试那里的所有设备,但我的结论是 swprintf() 不能在 Android Kitkat 及更低版本上运行。它可能什么都不做就返回。

有人可以证实我的理论吗?有什么解决方法吗?

实用不实用,我就是想知道。

最佳答案

不要问我为什么,但直到 L Android 只有 vswprintf 的 stub 实现才返回 -1。

https://android.googlesource.com/platform/bionic/+/kitkat-release/libc/bionic/wchar.cpp#74

解决方法是使用 libandroid_support。如果您使用的是 libc++(这是 NDK r16+ 的最佳选择),这是自动的。

关于android - swprintf() 不适用于 Android Kitkat 及以下版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com