在字符名称c ++

时间:2017-08-07 08:40:48

标签: c++

我正在尝试在链接中提供的此代码中允许“space”0x20 aka vk_space。

在我尝试在字符名称中添加间距时,如果取消阻止代码中的块,它仍然会引发错误并不重要:

if ( (*chr) == ' ' || (*chr) == '\t' || (*chr) == '\n' || (*chr) == '\r'
    || (*chr) == '%' || (*chr) == '#' || (*chr) == '&' || (*chr) == '?'
    || (*chr) == '+' || (*chr) == '='
)

我尝试将这些内容评论为至少vk_space的第一个。

我实际上在这段代码中为这行代码增加了一些空间:

if ( !((*chr) >= 48 && (*chr) <=57)  //! 0 ~ 9
    && !((*chr) >= 65 && (*chr) <=90) // ! A ~ Z
    && !((*chr) >= 97 && (*chr) <=122) // ! a ~ z
)

如果我能理解上面的Windows 1251代码,我相信我可以让它工作。

此处可以找到按下确定并创建角色的过程。

void CUICharacterCreateNew::PressOk()

代码位于此处:

1 个答案:

答案 0 :(得分:0)

必须注释掉所有的char ==''||

if(/* (*chr) == ' ' ||*/ (*chr) == '\t' || (*chr) == '\n' || (*chr) == '\r'
    || (*chr) == '%' || (*chr) == '#' || (*chr) == '&' || (*chr) == '?'
    || (*chr) == '+' || (*chr) == '='
)

然后我不得不在所有这些

的底部添加32
if ( !((*chr) >= 48 && (*chr) <=57)  //! 0 ~ 9
    && !((*chr) >= 65 && (*chr) <=90) // ! A ~ Z
    && !((*chr) >= 97 && (*chr) <=122) // ! a ~ z
    && !((*chr) == 32 )

我正在阅读所有这些数字,因为Windows 1251编码20 =空格..很好地发现这些实际上是十进制的,我需要它们是十六进制。好吧哦:/