pasasの日記: パスワードとメモ
日記 by
pasas
入力した文字のエコーを表示しないプログラム。
メモメモ。
#include <stdio.h>
#include <stdlib.h>
#include <termio.h>
int main( int argc, char *argv[]) {
char login_name[ 256 ];
char password[ 256 ];
struct termio current_termio;
struct termio new_termio;
printf("Login: ");
fgets( login_name, sizeof( login_name), stdin);
printf("Password: ");
if( ioctl( 0, TCGETA, ¤t_termio) < 0 ) {
perror("ioctl( TCGETA): ");
exit(0);
}
new_termio = current_termio;
new_termio.c_lflag &= ~ECHO;
if( ioctl( 0, TCSETA, &new_termio) < 0 ) {
perror("ioctl( 0, TCSETA, &new_termio): ");
exit(0);
}
fgets( password, sizeof( password), stdin);
if( ioctl( 0, TCSETA, ¤t_termio) < 0 ) {
perror("ioctl( 0, TCSETA, ¤t_termio): ");
exit(0);
}
printf("\n\n");
printf("login_name => %s", login_name);
printf("password => %s", password);
}
メモメモ。
#include <stdio.h>
#include <stdlib.h>
#include <termio.h>
int main( int argc, char *argv[]) {
char login_name[ 256 ];
char password[ 256 ];
struct termio current_termio;
struct termio new_termio;
printf("Login: ");
fgets( login_name, sizeof( login_name), stdin);
printf("Password: ");
if( ioctl( 0, TCGETA, ¤t_termio) < 0 ) {
perror("ioctl( TCGETA): ");
exit(0);
}
new_termio = current_termio;
new_termio.c_lflag &= ~ECHO;
if( ioctl( 0, TCSETA, &new_termio) < 0 ) {
perror("ioctl( 0, TCSETA, &new_termio): ");
exit(0);
}
fgets( password, sizeof( password), stdin);
if( ioctl( 0, TCSETA, ¤t_termio) < 0 ) {
perror("ioctl( 0, TCSETA, ¤t_termio): ");
exit(0);
}
printf("\n\n");
printf("login_name => %s", login_name);
printf("password => %s", password);
}
パスワードとメモ More ログイン