如果你能回答我的任何问题,那就太棒了。
这是独家新闻:我正在为 11 年级学生教授泰国编程课程的介绍。到目前为止一切都很好,他们的英语水平足够高,我可以用英语教书,让他们用英语编写程序,一切都很好,花花公子。
但是,作为非拉丁字符语言的使用者,我觉得他们至少应该了解 UNICODE 是什么。我不会在上面测试它们或让它们陷入实现细节,但我想向他们展示一个可以使用泰语字符进行 I/O 的 UNICODE 程序的示例。
我在以下限制条件下运行,其中任何一个都不能更改(至少在本学期):
- 该程序必须在 Windows 7 上运行
- 程序必须是 C(不是 C++)
- 我们必须使用 Dev-C++ (v. 4.9.9.3) 作为我们的 IDE(我将尝试说服管理员在下学期进行更改,但他们可能不想这样做)
- 该程序应该输出到命令行(我希望它“看起来像”我们迄今为止编写的程序)
- 我希望它易于设置和运行,尽管我不反对包含一个批处理文件来为孩子们做一些设置工作。
这是我已经走了多远,以及我的问题:
- 在控制面板 > 区域 > 管理 > 非 UNICODE 程序的语言设置为泰语。
- 我使用“chcp 874”在命令行中设置泰语代码页,但来自键盘的字符出现为乱码。这可能是因为键盘映射错误还是我必须更改其他内容?
- 我用以下代码编写了一个程序: printf("\u0E01\n"); 它打印 ก,泰语字母表中的第一个字母。这是正确的语法吗?
- 我收到一个编译器警告“仅 C++ 和 C99 支持通用字符”。Dev-C++ 不能编译成 C99 吗?有没有办法为它获取 C99 编译器?
- 我运行代码并得到垃圾字符。我想这可能是因为编译器、命令行或其他任何东西。
我很想用一个输出 สวัสดีโลก 的程序结束这门课程,泰语相当于“Hello World!” 我已经进行了大量的谷歌搜索,但我发现的每个答案要么在这种特定情况下不起作用,要么涉及不同的 IDE。