C语言:如何将账户密码修改为随机密码并且保存?

第一步:编代码

代码如下:

#include 
#include 
#include 
typedef struct
{
	char *password;
	struct LNode *next;
}LNode,*LinkList;
void InItList(LinkList *a)
{
	*a=(LNode*)malloc(sizeof(LNode));
	(*a)->next=NULL;
	(*a)->password=NULL;
}
void file_datas(LinkList *a,char *filename)
{
	LinkList b;
	b=(LinkList)(*a)->next;
	FILE*fp=fopen(filename,"wt+");
	while(b)
	{
		fprintf(fp,"password:\n%s\n",b->password);
		b=(LinkList)b->next;
	}
	fclose(fp);
}
char *filename()
{
	printf("请输入文件位置:");
	char *a;
	a=(char*)malloc(sizeof(char)*100);
	for(;;)
	{
		gets(a);
		if(strlen(a)==0)
		{
			printf("内容不能为空!\n");
		}
		else if(_access(a,F_OK)==-1)
		{
			printf("文件不存在或您输入的位置有误!\n"); 
		}
		else
		{
			break;
		}
	}
	return a;
}
void huo_qv_filedata(LinkList *a,char *filename)
{
	LinkList b;
	b=*a;
	FILE*fp;
	if((fp=fopen(filename,"rt"))==NULL)
	{
		printf("保存失败!可能原因是输入的格式有误\n");
	}
	else
	{
	   int f=1;
	   for(;;)
	   {
		    char *c;
		    c=(char*)malloc(sizeof(char)*15);
		    char *d;
		    d=(char*)malloc(sizeof(char)*20);
		    fgets(d,15,fp);
		    fgets(c,15,fp);
		    c[strlen(c)-1]=0;
    		d[strlen(d)-1]=0;
    		if(strcmp(d,"password:")==0)
    		{
	    		f++;
		        LinkList e;
		        e=(LNode*)malloc(sizeof(LNode));
    		    e->password=c;
	    	    e->next=NULL;
		        b->next=(struct LNode*)e;
		        b=e;
    		    free(d);
	    	}
		    else
    		{
	    		free(d);
		    	free(c);
			    break;
    		}
	    }
	    printf("保存成功!\n");
	}
	fclose(fp);
}
void tian_List(LinkList *a,char *b)
{
	LinkList c;
	c=*a;
	while(c->next)
	{
		c=(LinkList)c->next;
	}
	LinkList d;
	d=(LNode*)malloc(sizeof(LNode*));
	d->password=b;
	d->next=NULL;
	c->next=(struct LNode*)d;
}
char *_data()
{
	char *a;
	a=(char*)malloc(sizeof(char)*15);
	char b[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*(){}:';<>?,./[]+-";
	int c;
	for(c=0;c<15;c++)
	{
		a[c]=b[rand()%strlen(b)];
	}
	a[15]='\0';
	return a;
}
char *cao_zuo()
{
	char *a;
	printf("按1保存,按任意键退出>>>>>>\n");
	a=(char*)malloc(sizeof(char)*300);
	gets(a);
}
void Windows_system()
{
	srand((unsigned)time(NULL));
	char *a,*b;
	a=_data();
	printf("您的随机密码为:\n%s\n",a);
	b=cao_zuo();
	if(strcmp(b,"1")==0)
	{
		char *c;
		c=filename();
		LinkList d;
		InItList(&d);
		huo_qv_filedata(&d,c);
		tian_List(&d,a);
		file_datas(&d,c);
		while(d)
		{
			LinkList e;
			e=d;
			d=(LinkList)d->next;
			if(e)
			{
				free(e->password);
			}
			free(e);
		}
		free(c);
	}
	free(a);
	free(b);
}
void Windows_name_system()
{
	char *a;
	a=(char*)malloc(sizeof(char)*30);
	strcpy(a,"随机密码程序(可保存)");
	char *b;
	b=(char*)malloc(sizeof(char)*30);
	sprintf(b,"title %s",a);
	system(b);
	puts(a);
	free(a);
	free(b);
}
void Windows()
{
	system("color f0");
	Windows_name_system();
	Windows_system();
	system("pause");
}
main()
{
	Windows();
	return 0;
}

第二步:编译

第三步: 打开程序,就会看见随机密码,如图:

C语言:如何将账户密码修改为随机密码并且保存?_第1张图片

第四步:找到aq.qq.com

C语言:如何将账户密码修改为随机密码并且保存?_第2张图片

第五步:点击密码管理

C语言:如何将账户密码修改为随机密码并且保存?_第3张图片

第六步:输入QQ账号

C语言:如何将账户密码修改为随机密码并且保存?_第4张图片

第七步:点击下一步,并验证

C语言:如何将账户密码修改为随机密码并且保存?_第5张图片 第八步:选择手机验证码验证,然后输入手机号码

C语言:如何将账户密码修改为随机密码并且保存?_第6张图片

第九步:点击发送验证码,并在验证码框内输入短信验证码,然后点击下一步

C语言:如何将账户密码修改为随机密码并且保存?_第7张图片

第十步:复制新密码到框内

C语言:如何将账户密码修改为随机密码并且保存?_第8张图片

第十一步:粘贴到框中并点击确定

C语言:如何将账户密码修改为随机密码并且保存?_第9张图片 第十二步:打开此电脑,然后在C盘建立一个新文件,名称为我的QQ密码.txt

C语言:如何将账户密码修改为随机密码并且保存?_第10张图片

第十三步:按1然后回车

C语言:如何将账户密码修改为随机密码并且保存?_第11张图片

 第十四步:输入C:\\我的QQ密码.txt然后按回车

C语言:如何将账户密码修改为随机密码并且保存?_第12张图片

最后按回车键退出

密码被保存效果图

 C语言:如何将账户密码修改为随机密码并且保存?_第13张图片

你可能感兴趣的:(编程,科学技术,计算机科学,c语言,开发语言)