gpt4 book ai didi

c++ - 使用 addch 获得意想不到的字符

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

我将 ncurses 与 noecho() 一起使用,并且我正在尝试从 TCHAR(或 char16_t)打印一个字符串带有 addch() 函数的数组。

我试过将我的 TCHAR 转换为 int,但结果相同。

这是我正在使用的代码:

coords hCursorPosition( GetCursorPosition() );
if ( hCursorPosition.X == 0 ) return;
coords nCursorPosition(hCursorPosition.Y, 0);
SetCursorPosition(nCursorPosition);
clrtoeol();
if (!m_sInput.IsEmpty())
{
for (auto CharIt(m_sInput.CreateConstIterator()); CharIt; CharIt++)
{
const TCHAR Char = *CharIt;
int intChar = static_cast<int>(Char);
addch(intChar);
refresh();
}
}

m_sInput 是一个 FString(Unreal Engine 4 中使用的一种类型),我检查了 FString 长度,它是正确的,而结果不是我所期望的。

例如,如果 m_sInput 是“test”,我的输出将是“test^@”

最佳答案

addch需要一个 chtype 参数,它包含一个 8 位字符(如果您碰巧向它传递一个 NUL,它将显示为 < strong>^@).

wchar_t 包含超过 8 位的字符。使用 addwstr为了那个

关于c++ - 使用 addch 获得意想不到的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877249/

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