2年以上振りに、C++でプログラム(というかアマグラム)を書こうとしています。
Console Application (Win-XP VC++ 6.0)を用いています。
char ch;
ch = NULL;
do {
cin >> ch;
// do something;
} while (ch != 'x');
とすると、ENTERを押さないとキー入力となりませんが、これをMFCなどで使える
OnKeyDownのようにENTERを押さないでも認識することは可能でしょうか?
あくまでも標準C++の中で行いたいのですが・・・
宜しくご教授お願いします。
標準C++の範囲では無理じゃないかしら。
ご無沙汰しております。
やはりそうですか・・・・
それならばそれで諦めがつきます。
ありがとうございました。
もうみてませんか?
Vcならできるんですがね~
環境依存でいいなら、_kbhit() とかありますが。。
# 非標準C++ が必ずしも MFC のことを指している訳ではないと
# 分かっているなら余計な事でしょうが。
Ameria様、RAPT様、ありがとうございます。
やはり環境非依存で、と思いました。
C++を実行できる環境がVC++しか持ち合わせ無いので、VC++を使っています。
Borland C++でも良いのですが、IDEが無いので、初心者は初歩的な文法ミスをIDEの中で
発見できないので、使いにくく思います。
ところで、一つ疑問に思ったのですが、確か以前RubyはRubyのシステム内でマルチスレ
ッドを実現していると聞きました。そして、RubyはCで全部書かれていると思います。
環境非依存で、そのようなことは可能なのでしょうか?
私にとって、タイマー割り込みも、キー割り込みも同じレベルのように思うのですが、
これは誤解でしょうか?
標準C++では、マルチスレッドも割り込みも無理です。
このことは、そのRubyも環境依存のコードを含んでいることを示しています。
実際、C/C++では標準かどうかは、ソースレベルでのみ意味のあることです。
コンパイルした時点で、ターゲットCPUに対する環境に依存してしまいます。
REE様、
早速のご返答ありがとうございました。やはりそうでしたか。
標準C++で我々が扱えるタイマー関係のものといえば、乱数発生で馴染みのある、
unsigned int now = (unsigned int)timer(NULL)
などぐらいでしたので、これでどうしてタイマー割り込みが行えるのか? と、思ってい
ました。