可以用C / C ++中不同的“人类语言”开发软件吗?

时间:2009-12-12 00:10:45

标签: c locale

我正在开发一个测试软件,用户可以输入一个字符串,我必须将其验证为C ++变量语法。然后我开始怀疑人们是否可以用日语或其他习语发展。

当我在某些IDE上键入“is”时,它会添加一个带有“isascii”功能的列表。然后我想知道我是否可以使用该函数来检查变量的字母。

我google了,如果没有在microsoft的msdn上找不到isascii,那么我猜它是一个使用机器语言环境的windows函数?

有人也可以解释一下这个isascii和__isascii吗?

编辑: 我应该使用这个“是”函数来检查变量名称中的字母吗?

谢谢,对不起我的no!! 乔

3 个答案:

答案 0 :(得分:3)

如果您对此感兴趣,我想您可能会发现Joel Spolsky的这篇文章很有帮助 编写可以优雅地处理国际语言和字符的软件 集:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

编辑:仔细阅读您的问题后,您似乎对此更感兴趣 国际字符是否适用于您的C或C ++源代码。
Yes, this is possible.

答案 1 :(得分:0)

通过查看man page,您可以了解字符分类,包括isascii。哪些字符被视为字母(依此类推)取决于您的“区域设置”。我承认我总是觉得语言环境设置令人困惑......

答案 2 :(得分:0)

C标准不会将ASCII中未包含的字母视为字母。 因此,我认为C不支持[c =='_''isalpha()] [c =='_'isalnum()] *以外的字符作为符号名称,即使其他编程语言也是如此。所以你应该检查一下。