论坛: 编程破解 标题: 请教关于C语言的输入字符串问题.. 复制本贴地址    
作者: hzqqun [hzqqun]    论坛用户   登录
本人想实现一个密码检测程序,程序中利用scanf函数来作为获取从键盘上输入的字符串跟预先定义好的字符串作比较以此来实现加密功能,因为scanf函数在输入字符串同时屏幕有显示其输入的内容,请问有什么方法能够实现在其输入时是用星号来代表的. 谢谢...

地主 发表时间: 06-06-08 21:27

回复: radom [f_h]   论坛用户   登录
getch();

B1层 发表时间: 06-06-09 17:37

回复: frostmoon [frostmoon]   论坛用户   登录
用scanf是不行的,我写了一些代码,希望对你有帮助.....
void main()
{
        char s[50];
        int i,j;
        clrscr();
        for(i=0;i<50;i++)
              {
              s[i]=getch();
              clrscr();
              for(j=i;j>=0;j--)
                        printf("*");
              if(s[i]=='\r')break;
              }

}

B2层 发表时间: 06-06-09 22:59

回复: hzqqun [hzqqun]   论坛用户   登录
谢谢两位帮忙!
  比如我想把密码预定为hzqqun,即需要从键盘输入hzqqun字母才能往下执行语句..请问用什么方法可以?...

B3层 发表时间: 06-06-10 18:04

回复: frostmoon [frostmoon]   论坛用户   登录
可以这样写,仅作个参考,呵呵……^_^,在tc 2.0编译通过。
#include<stdio.h>
int checkpassword()
{
int i,result,j;
char s[50];
        for(i=0;i<50;i++)
                {
                  s[i]=getch();
                  clrscr();
                  for(j=i;j>=0;j--)
                          printf("*");
                  if(s[i]=='\r')break;
                }
result=strcmp(s,"hzqqun\r");
if(!result)return 0;
else return 1;
}
int main()
{

    clrscr();
if(checkpassword())
{
printf("\nyour password is wrong!!!");
getch();
return 0;
}
else printf("\n3Q");
        getch();
        /************************************/
        /*                                  */                                   
        /*  your code    your code        */
        /*                                  */
        /************************************/
}

B4层 发表时间: 06-06-10 22:27

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号