密码提示

时间:2014-01-01 10:42:11

标签: c password-protection

我正在尝试编写一个简单的密码提示..我必须承认,我发现了一些代码,但它不能用于我的特定目的。我还在学习C,这只是阶梯上的又一步。如果密码正确,我正试着把它带到继续的地方,如果密码不正确,我会终止它。

int c;
char pass[20] = "";
char *end = pass + sizeof(pass) - 1;
char *dst = pass;

printf("Enter password: ");
while ((c = getchar()) != EOF && c != '\n' && dst < end)
*dst++ = c;
*dst = '\0';  // Ensure null termination

printf("\nPass: %s\n", pass);

return 0;

代码似乎在“输入密码”提示符处“锁定”。谢谢你的帮助。非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要使用if添加strcmp语句,以检查输入的密码是否正确。

#include<stdio.h>
#include <stdlib.h>

int main(void)
{
    int c;
    char pass[20] = "";
    char *end = pass + sizeof(pass) - 1;
    char *dst = pass;
    char admin[] = "12345";

    printf("Enter password: ");
    while ((c = getchar()) != EOF && c != '\n' && dst < end)
        *dst++ = c;

    *dst = '\0';  // Ensure null termination

    if(strcmp(admin, pass) == 0)
        printf("\nPass: %s\n", pass);
    else
    {
        printf("Incorrect password");
        return 0;
    }

    return 0;
}