gpt4 book ai didi

android - Android Lollipop 上的 va_start/va_end + vsnprintf 问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:24 26 4
gpt4 key购买 nike

我使用下一个函数:

void CharTest(const char * format,...)
{
char buffer[1024];
va_list args;
va_start(args, format);
vsnprintf(buffer, sizeof(buffer), format, args);
va_end(args);

fnt->Render(0, 30, 0, buffer);

for(int i=0; i<strlen(buffer); i++)
{
fnt->printf(0, 60 + i*30 , 0, "%d) - %d", i+1, (int)buffer[i]);
fnt->printf(200, 60 + i*30 , 0, "%d) - %c", i+1, buffer[i]);
}
}

测试示例:

CharTest("Russian. Русский");

在 Android 4.x 上它工作正常,但在 Android 5 上我遇到非英文字符的问题。

设备截图:

image

请帮我定位问题。

附注NDK,API 级别 10

编辑:

Dan Albert:你说得对!谢谢!:)

最佳答案

看起来您使用的是扩展 ASCII 而不是 UTF-8。 IIRC 支持各种 printf 函数的代码需要 UTF-8。

关于android - Android Lollipop 上的 va_start/va_end + vsnprintf 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28736114/

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