• 締切済み

標準入力の違い

今C言語の学習を行っています。 そこで、文字入力の学習を行っていますが、 getchar() getche() で改行(¥n)の取得値が異なります。 getchar() => 0x10 getche() => 0x13 改行復帰という言葉があるのはわかるのですが、 なぜ、getchar()のほうは、0x10で見えるのでしょうか?

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

getcheは標準関数ではないので、処理系による違いがあるかも知れませんが... getcharは標準入力からの1文字入力ですので、改行文字は内部的に'\n'に変換されます。 それに対して、getcheはコンソールからの(エコーバック付きでの)1文字入力なので、キーボードでEnterが押された場合、それに対応するCR(=0x0d)が入力されます。 標準関数と、処理系の独自関数とは、はっきり区別しながら学習しないと、余計な混乱を招くことになります。