【自作】 プログラミング 【してみた】

491360c8 :Anonymous 2010-10-11 19:57
Linuxでpauseコマンド。

目的と手段が逆転してしまって、もう、どうしてpauseコマンドが欲しかったのか忘れてしまったんだけど。

1.catコマンドで代用
どっかのサイトで見た。echo -n "push Ctrl-C "; cat > /dev/null

2.readコマンドで代用
はじめはCでgetchar()を使ったんだけど、それって(pauseの要件的には)readと同じじゃんと。echo -n "push Enter key..."; read

3.C+cursesで
やっと本題。
#include<curses.h>
int main(){
initscr();getch();endwin();return 0;
}
でもこれだと一時的に画面がクリアされてしまうので、実際は
echo -n "push any key..."; ./pause > /dev/null; echo
10年前はリダイレクトしようなんて考えもしなかったから、なんだLinuxって使えねーな、とか思ってました。使えないのは僕でした。ごめんなさい。

探してみるとシグナルを使ったものやtermiosを使ったものが見つかった。
http://d.hatena.ne.jp/goth_wrist_cut/20080903/1220410396
http://cboard.cprogramming.com/faq-board/27714-faq-there-getch-conio-equivalent-linux-unix.html
やっぱ探すと見つかるもんだなー。
Powered by shinGETsu.