如何读取Vala中的char?

时间:2014-02-11 22:31:17

标签: vala

我正在使用Vala语言进行编程,我遇到了一个问题:我不知道如何读取字符(虽然我知道如何读取字符串和整数)。

string name = stdin.read_line();
int maximum = int.parse(stdin.read_line()); 
char option = ????;

一个选项是使用scanf(),但如果我使用它,我在执行期间遇到问题。

谢谢:)

1 个答案:

答案 0 :(得分:3)

如果您只想从GLib.FileStream读取单个字符,可以使用GLib.FileStream.getc,它“从流中读取下一个字符并将其作为无符号字符串转换为int或EOF on文件结束或错误。“实际上,GLib.FileStream.read_line is implemented using getc。所以 ”????”在你的问题中将是(char) stdin.getc()

如果您尝试与用户进行交互,请注意,终端通常会缓冲输入直到行尾。如果你想在用户按下一个键后立即获得一个字符,你需要使用像ncurses这样的东西(Vala绑定与valac一起分发)。