gpt4 book ai didi

android - wcstombs() 在 Android 上有无效的输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:16 25 4
gpt4 key购买 nike

我正在尝试将一些旧的 C/C++ 代码移植到 android(最新版本的 NDK),但我正在努力处理函数 wcstombs()。此函数在 Android 上返回奇怪的结果,我不知道为什么。

看看这段代码(它是 C++ 引用中的 wcstombs() 示例)

  const wchar_t str[] = L"wcstombs example";
char buffer[32];
int ret;

ret = wcstombs ( buffer, str, sizeof(buffer) );
if (ret==32) buffer[31]='\0';

__android_log_print(ANDROID_LOG_WARN, "dbg", "%d ... %s", ret, buffer);


// Application.mk
APP_ABI := armeabi-v7a
APP_STL := gnustl_static
APP_PLATFORM := android-19

此代码打印“2 ... w”。如果函数从字符串中读取一个零字节,它看起来就像函数停止了。

这正常吗?这个功能有什么替代品吗?

谢谢。

最佳答案

你可以用

snprintf(buffer, sizeof(buffer), "%ls", str);

关于android - wcstombs() 在 Android 上有无效的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25453867/

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