Chinaunix首页 | 论坛 | 博客

分类: LINUX

2012-11-05 16:50:10

很多时候,你想在终端上实现想password ,那样可是用c 程序实现自己的在终端上并不显示你的内容。但是是怎么做到的,今天我看到一个学长的分享,觉得是个好东西。。


#include
#include
#include
#include
#include

int main( int argc, char *argv[] )
{
char input[20];
struct termios oldsetting,newsetting;
tcgetattr ( fileno( stdin ),&oldsetting );
newsetting = oldsetting;
newsetting.c_lflag &=~ECHO;
tcsetattr( fileno ( stdin ),TCSANOW,&newsetting );
gets ( input );
tcsetattr ( fileno ( stdin ),TCSANOW,&oldsetting );
printf ( "%s\n",input );


return 0;
}

还有一种实现的方法:


#include
#include
#include

int main( int argc, char *argv[] )
{
char input[20];
system ( "stty -echo" );
gets ( input );
system ( "stty echo " );
printf ( "%s\n",input );


return 0;
}




阅读(1589) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

我在乎的你2012-11-25 15:39:32

hurley_cu: 第二种很简洁啊.......
对呀,,这个system()函数比较厉害了。。。

hurley_cu2012-11-24 21:48:56

第二种很简洁啊..