欢迎 longtian001 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2009年01月08日 星期四  您现在位于: 首页 → 技术文章 → C语言编程中实现输入密...
   C语言编程中实现输入密码回显星号
作者:raincatss.cublog.cn  出处:raincatss.cublog.cn  更新时间: 2007年05月29日 
众所周知,一个良好的密码输入程序是在用户输入密码时不显示密码本身,只回显星号。或者,在安全性要求更高的某些程序中,什么都不显示。那么,在C语言中如何实现它呢?
 
getc()和getchar()函数想必大家都经常用到,但它们都在输入的同时显示输入内容,并由回车终止输入。为了不显示输入内容,我们调用另外一个函数getch(),它包含在<conio.h>头文件中。该函数可以在输入的同时不显示输入内容,并在输入完成后不需回车而自动终止输入。与此同时,该头文件中还包含另外一个函数getche(),它和getch()功能相同,唯一的区别是输入的同时显示输入的内容。本文我们只用到getch();
 
一、输入密码回显星号
 

/* getPasswd.h */

#ifndef _GETPASSWD_H
#define _GETPASSWD_H

#include <stdio.h>
#include <conio.h>

char passwd[32] = "";

char *getPasswd()
{
    char c;
    int i = 0;
    
    while ((c=getch()) != '\r')
    {
        passwd[i++] = c;
        putchar('*');
    }
    passwd[i] = '\0';
    
    return passwd;
}

#endif

二、输入密码不回显

与回显星号的代码基本相同,只是去掉显示那行代码。

/* getPasswd.h */

#ifndef _GETPASSWD_H
#define _GETPASSWD_H

#include <conio.h>

char passwd[32] = "";

char *getPasswd()
{
    char c;
    int i = 0;
    
    while ((c=getch()) != '\r')
    {
        passwd[i++] = c;
    }
    passwd[i] = '\0';
    
    return passwd;
}

#endif

 (本文已被浏览 5010 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:SCO OpenServer 6使用中文界面的KDE...
下篇文章:生成连续随机数的两种算法
 相关文章:
SQL*PLUS命令的使用大全

相关搜索
查看百度中关于C语言编程中实现输入密码回显星号的更多内容
查看google中关于C语言编程中实现输入密码回显星号的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.