| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 674 人关注过本帖
标题:C语言密码问题
只看楼主 加入收藏
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
C语言密码问题
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void)
{
    int i;
    static char ch[30];
    for(i=0;i<30;i++)
    {
        ch[i]=getch();
        printf("*");
        if(ch[i]=='\b')
        {continue;
        printf("\b ");}
        if(ch[i]=='\r')
            break;
    }
    puts(ch);
    return 0;
} 请大侠们看一下,退格符怎么弄呀!!谢谢咯
搜索更多相关主题的帖子: 密码 C语言 
2011-09-25 14:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
你这个程序有什么不正常,自己运行过清楚么?

授人以渔,不授人以鱼。
2011-09-25 14:47
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
收藏
得分:0 
退格也算是密码了,我想输入退格时删除,不输出*。我写的这个不行。想请问下该怎么写
2011-09-25 14:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
要删除,除了检测到退格按键,还要把字符数组的序数减1、光标也要实际后退(后退的同时把前一格的字符抹掉)。还有,你3楼自我感知的错误,漏了一个,字符串ch没有结束符'\0',但后面用到puts()。何况又没有检测越界。

[ 本帖最后由 TonyDeng 于 2011-9-25 15:08 编辑 ]

授人以渔,不授人以鱼。
2011-09-25 15:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你参考这里3楼代码的处理手法,就是专门针对键盘流输入做的(不用流的还有另外办法,那个是传统DOS编程的手法)。
https://bbs.bccn.net/thread-347226-1-1.html

授人以渔,不授人以鱼。
2011-09-25 15:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这种情况不能用死格式的for循环的,未必有30次按键,也未必不能超过30次按键(反复退格时就是如此),所以不能定死30次。很多地方要改的,你仔细斟酌一下,把这个程序弄好(比如有中文时怎么办之类),能够领悟很多东西。

授人以渔,不授人以鱼。
2011-09-25 15:21
快速回复:C语言密码问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017319 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved