これはばかげて聞こえるかもしれないが、どのようにすることができます、私はCにCINから1つの文字を読み++(NOT押下するまでは、ただ1文字)? 私は演算子>>、get()、getchar()を試しましたが、それらのすべてが行全体を読み込みます。
答えて
_getche() functionはあなたが望むことをします。
はい、しかし、彼は移植性を求めていない、彼は彼がWin7を使用している彼のコメントで述べている。また、Adam ShiemkeとRobが指摘しているように、キーボードイベントを取得するには、OS固有の機能が必要です。 –
cin
は、バッファされた入力です。あなたは、 "unbuffered"入力が必要です。ファイルを直接使用しない限り、プラットフォームによって異なる場合があります。このような
何かが役立つかもしれません:。
http://www.cplusplus.com/forum/beginner/3329/
[EDIT]、 "バッファリング" Vの使用を忘れないでください "アンバッファードは、" 設計上の決定である、との両方が正当です。 cin
の "buffered-input"の "default"は、ユーザが入力ラインを修正するために "バックスペース"して、プログラムに与える "混乱"を避けたいので、非常に意味があります。 (そして、一般に、ファイルのような "バッファされた入力"はずっと効率的です。)
これは、あなたが非標準モードでそれを置くことによって、端末上の入力バッファリングを無効にするには、termiosインタフェースを使用することができますUNIXライクなオペレーティングシステムでは、OS固有のですが:
termios t;
tcgetattr(STDIN_FILENO, &t);
t.c_lflag &= ~ICANON;
tcsetattr(STDIN_FILENO, TCSANOW, &t);
詳細はtermios(3)を参照してください。 。
- 1. C++はifstreamカントは、文字列を読み、読み文字
- 2. ファイルを1文字ずつ読み込み、Cでそれらの文字を比較する
- 3. C:読み込み入力文字列を読み込み、文字配列
- 4. ファイルを1つの文で文字列に読み込みますか?
- 5. C++ getレジストリキーが1つのみの文字を返します
- 6. バーコードスキャナは1文字のみを読み取る
- 7. C#ファイルの内容を読み込んで文字列を見つける
- 8. 文字をC++の文字列から読み込む
- 9. 文字を1文字ずつ読み込み、文字を2次元配列に格納します。OCaML
- 10. Cの1つの文字に3つの文字を追加するには?
- 11. SMLNJの文字を1文字ずつ読む
- 12. MVC - 複数の場所で1文字列を読み込みません。
- 13. 文字列内のすべての数値を配列(C++)に1つずつ読み込む方法
- 14. 正規表現のみの文字1つの大文字
- 15. C文字列に1つの文字を変更
- 16. Cでgetcharを使用して1文字を読み取る方法は?
- 17. getlineは変数から文字列を読み込みません。 (C++)
- 18. c#XMLノードを読み込んで文字列型参照
- 19. C# - NewLine文字を文字列で読み取る場合
- 20. Clojureの読み込み文字列と読み込み文字列の違い
- 21. Objective-Cコンソールアプリケーションの文字列を読み込みますか?
- 22. C:のscanf文で文字を読む返しごみ値
- 23. C関数の文字列をGoに読み込むには?
- 24. 長いC#文字列のdouble値を読み取るには
- 25. C UNIX - read()は既存の文字を読み取らない
- 26. Cで文字/数字で入力文字を読み取るには?
- 27. cでの文字配列の読み込み
- 28. C#バイナリファイル内の文字列の読み込み
- 29. はSUBSTRは、1つの文字または1つの文字で始まる
- 30. コードは指定された1つの文字列を読み込んでいます
指定するすべてのメソッドは、 'std :: cin'から1文字読み込みます。ただし、ENTERを押すまでは、その文字はO/Sから使用できません。 –
あなたはどのOSを使用していますか? Robが言ったように、OSはまで入力を保持します。キーボードイベントが発生した場合、OS固有のライブラリが必要です。 –
@Robᵩそう言えば、1つの文字だけを読むことはできません。私が知っている他のすべての言語にはその機能があります。 – Dave