|
みなさまはじめまして。 場違いな質問かもしれないのですが、 皆様ご親切なので質問させていただきます。 ただいま、当方、UNIXCにて、プログラムを作っております。 そこで、telnetやTeraTermを起動した時に ユーザID、パスワードの認証があると思うのですが、 それと同様のことを、Cのプログラムの中で行ないたいのです。 <例> ユーザ名を入力してください → USERA パスワードを入力してください → (キーボードを入力しているが出力されない) このような設定(記述)のしかたをご存知の方いらっしゃいますでしょうか? また、この時に入力されたフィールドをscanfで読み取ることは可能なのでしょうか? もし、ご存知な方がいらっしゃったら教えていただきたいです。 宜しくお願いいたします。 |
|
>>2125 RUB UNIX と言ってもいろいろあるので、ちゃんと環境を書きましょう。 以下、FreeBSD と仮定して説明しますが、Solaris でも同じはずです。 > パスワードを入力してください → (キーボードを入力しているが > 出力されない) http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/gen/getpass.c?rev=1.9 の getpass が参考になるでしょう。 要は、tcgetattr して、ECHO を落として (NOECHO にする)、 tcsetattr することで、tty ドライバの echo back を OFF にできます。より詳しい情報は termios(4) をどうぞ。 もっとお手軽にやりたいなら、 http://X68000.startshop.co.jp/~68user/net/ftp-5.html の stty の部分を読んでください。 |