MSYS/MinGWでminttyを使っています。mintty上でC言語の関数 isatty(fileno(stdout)) を実行すると、0(端末ではない)が返ってきてしまいます。Windowsのコマンドプロンプトから同じ物を実行すると1が返ってきます。 minttyを端末として認識させる設定はないでしょうか?
ログインして回答する
回答はまだありません
これ以上回答リクエストを送信することはできません。制限について
コメント(4件)
ありがとうございます。
それは
CYGWIN=tty
という設定でしょうか?
それでしたら、たしかそうなっていたと思いますが、来週確認してみます。
そのつもりで書きました。でも、ただの思いつきですよ。
http://www.cygwin.com/cygwin-ug-net/using-effectively.html
>>
DOS box を unix っぽく使うためには、CYGWIN=tty したまえ。
じゃなければ、xterm のような mintty を使うとか。
<<
とあるので、terminal emulator と CYGWIN=tty は効きどころが違うんだろうな、と思って。
そこそこ探してみたんですが、「Windows では pty の実装はきちんとできまへん」みたいのしか
見つからなくて。
自分がぶち当たったら、isatty じゃなくて、tty_name を使うように
変えちゃうかなあ、という感じなんですが、gdb の話ですもんね...
Redirection is not supported.
と言われてしまいました。どこかにリダイレクトさせてるから端末として認識してないみたいです。
ちなみにttyname関数はMinGwには無いようです。