Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373066
  • 博文数量: 55
  • 博客积分: 1033
  • 博客等级: 少尉
  • 技术积分: 603
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-21 13:36
文章存档

2013年(4)

2012年(51)

分类: 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;
}




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

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

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

hurley_cu2012-11-24 21:48:56

第二种很简洁啊..