一回も披露したことのない豆知識

Cでプログラミングしています。
本当に基本的なことで申し訳ないのですが、
どうしても分からないので、
どなたかアドバイス又は
ヒントをいただければ助かります。

printf("End of Program\n");

の後に、何かキーを押すとプログラムが終了するようにしたいのですが、現在では、どうしても
1文字入力してからリターンキーを押すという
2操作の方法しかプログラミングできません。

push any keyで終わるための関数について
どなたかご教示お願いします。

scanf("%s",&ss);
int ch = getchar();
exit(1)

A 回答 (3件)

while(kbhit()==0){


}
exit(1);

詳しくはkbhit()を調べてください
    • good
    • 1
この回答へのお礼

MFC7.0を使用しており、
conio.hをincludeすることで
kbhitが使えたので、
一発でうまく行きました。

新しい関数を知ることができて、
また勉強になりました。

ありがとうございました。

お礼日時:2003/06/05 11:05

kbhitで解決出来る環境ならkbhitのほうが楽でしょう(M$環境とか)


が、kbhitがない環境もあるのでその時はべつの方法でやらなきゃならんです。
Cの標準ライブラリだけで組みたい場合はsetbufを呼び出して
バッファリングをしないようにしてgetcharを呼び出す必要が
ある環境が多いでしょう。

また、POSIX準拠でというならselect関数を利用するという手も有ります

ほかにもあったかなぁ・・・
    • good
    • 1

こんばんは



printf("End of Program\n");
getch();
exit(1);

で良いと思います。
push any keyで終わるための関数について
という事はどういう事でしょうか?
何かキーを押したら終わるという事と理解して良いですか?
それともこのメッセージを出さなくてはいけないのでしょうか?
    • good
    • 1
この回答へのお礼

ご教示ありがとうございます。

今まで、getchar()では駄目だったのですが、
getch()にすると
kbhitと同様にうまく行きました。

MFCのヘルプでは、
getcharしか出てきませんが、
使用上は問題ないようです。

現在、両者の違いをネットで検索しています。

大変勉強になりました。
どうもありがとうございました。

お礼日時:2003/06/05 11:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報