isalpha()?或其他.. Debug断言失败了,CircleMud游戏
isalpha()? or others... debug assertion failed, circlemud game
请原谅我使用翻译器。
我是编程的初学者。
正在修改了数十年的环形。尽管它已经进行了本地化,并且可以在VC6.0中实施,而没有任何问题,但韩国名称进入vs vs vs vs vs vs vs vs 2019。
。游戏很古老,以至于韩国的大多数社区都消失了,所以我找不到帮助并参观了这个地方。我希望我会说英语,但是...
输入韩语(CP949或?(会导致Ishanalp((崩溃。当我添加/j并编译时,韩国的输入没有崩溃,但我无法识别韩语名称。
删除isalpha((部分将允许访问游戏,但是在打印或存储名称的区域将发生崩溃。
调试断言失败了!
文件;isctype.cpp线:36
表达式:c> = -1&&C<255
#define ishan(ch) (((ch) & 0xE0) > 0x90)
#define ishanasc(ch) (isascii(ch) || ishan(ch))
#define ishanalp(ch) (isalpha(ch) || ishan(ch))
#define isnhdigit(ch) (!ishan(ch) && isdigit(ch))
#define isnhspace(ch) (!ishan(ch) && isspace(ch))
int _parse_name(char *arg, char *name)
{
int i;
/* skip whitespaces */
for (; isnhspace(*arg); arg++);
for (i = 0; (*name = *arg); arg++, i++, name++)
if (!ishanalp(*arg)) // here debug assertion failed line 36
return 1;
if (!i)
return 1;
return 0;
}
ishanalp(static_cast<unsigned char>(*arg))
应该修复它,呼叫isnhspace
的更改相同。
鲜为人知的是,is...
字符分类功能不使用char
参数,而是采用int
参数,该参数必须具有 unsigned char value或EOF
。如果char
是签名类型(通常为(,并且您的值为负值,则is...
函数可能会失败。
我还建议将这些宏作为内联函数重新编码。
相关文章:
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 视图中的参数推导失败:take_while
- 链接到自行创建的dll失败
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- gcc和c++17的过载解析失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- 从父数组测试用例构造二叉树失败
- LibGit2 SSH身份验证失败
- 如何让LLDB在成功时退出,在失败时等待
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- 生成MRPT库时cmake配置失败
- 为什么除非添加括号,否则构造函数上的模板替换会失败?
- isalpha()?或其他.. Debug断言失败了,CircleMud游戏