2014-02-11 3 views
2

저는 Vala 언어로 프로그래밍 중이며 문제가 있습니다. 문자를 읽는 법을 모르겠습니다 (문자열과 정수를 읽는 방법을 알고 있지만).Vala에서 문자를 읽는 방법?

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

하나의 옵션은 scanf()를 사용하지만, 사용하면 실행 시간 중에 문제가 발생합니다.

감사합니다 :)

답변

3

당신은 단지 GLib.FileStream에서 단일 문자를 읽으려면, 당신은 "스트림에서 다음 문자를 읽고 int로 서명되지 않은 문자 캐스트로서 돌려 GLib.FileStream.getc을 사용할 수 있습니다 , 또는 파일 또는 오류의 끝에 EOF. " 사실, GLib.FileStream.read_line is implemented using getc. 그래서 "????" 귀하의 질문에 (char) stdin.getc() 같은 것이 될 것입니다.

사용자와 상호 작용하려는 경우 일반적으로 입력은 줄 끝까지 버퍼링됩니다. 사용자가 키를 누른 직후 문자를 얻으려면 ncurses과 같은 것을 사용해야합니다 (Vala 바인딩은 valac과 함께 배포됩니다).

관련 문제