-
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.