使用C语言文件读写的方式做一把“密码锁“

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

int main(void) {
    while (1) {//整个程序开始循环
        printf("注意:本软件是64位,所有操作需要管理员权限\n\n");
        FILE *pwd;
        char a[32], c[32], rst[32];
        int pwdrst = 0;
        int choose = 0;
        if ((pwd = fopen("c:\\windows\\setuperr.dat", "r")) == NULL) {
            printf("首次使用请设置密码,请记住\n");
            scanf("%s", &a);
            pwd = fopen("c:\\windows\\setuperr.dat", "w");
            fprintf(pwd, "%s", c);
            fclose(pwd);
            system("cls");

        } else {
            printf("请输入密码:");
            pwd = fopen("c:\\windows\\setuperr.dat", "r");
            fscanf(pwd, "%s", c);
            fclose(pwd);
            scanf("%s", &a);
            if (strcmp(a, c) != 0) {
                printf("\n密码错误,是否需要重置密码,输入1234-重置,其余放弃:");
                scanf("%d", &pwdrst); //输入重置选项
                if (pwdrst == 1234) {
                    printf("\n请输入正确的解锁码,然后重置密码:");
                    scanf("%s", &rst);
                    if (strcmp(rst, "1145141919810") != 0) {
                        printf("\n解锁码错误\n");
                        Sleep(1200);
                        system("cls");

                    } else {
                        printf("\n请输入需要重置的密码:");
                        scanf("%s", &c);
                        pwd = fopen("c:\\windows\\setuperr.dat", "w");
                        fprintf(pwd, "%s", c);
                        fclose(pwd);
                        printf("\n修改成功,该程序将重启\n");
                        Sleep(1500);
                        system("cls");

                    }
                } else {
                    system("cls");
                }

            } else {
                while (1) {//主程序无限运行
                    printf("密码正确,请填入主程序代码\n");
                }//主程序循环结尾
            }
        }
    }//整个程序循环结尾
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值