hello,大家好啊,这几天闲来无事,便会想起以前自己还是个萌新时看到大佬些的登陆代码片段,以前没时间,现在就想实践一下,一阵ctrl+c,ctrl+v过后,才发现他们的代码都失去了精髓--保存功能,当时我就被雷疯了:“***。”于是我试着自己写了一个:
#include <iostream>
#include<fstream> //<fstream>是文件操作库
#include<string>
#include<conio.h> //用于监视用户键盘事件
using namespace std;
void registered(const string& User,const string& password) //注册函数
{
ofstream ofs; //用"ofstream" 命名一个ofs关键字
ofs.open("C:\\ProgramData\\login.txt"); //打开并在C:\ProgramData\中创建一个名为"login.txt"的文件
ofs<<User<<endl; //分别在文件中写入用户名和密码
ofs<<password<<endl;
ofs.close(); //关闭文件
}
int login() //登陆函数
{
ifstream ifs; //用ifstream命名关键字"ifs"
ifs.open("C:\\ProgramData\\login.txt",ios::in); //打开文件
if(!ifs.is_open()) //错误反馈
{
cout<<"E:登陆文件打开失败"<<endl;
}
string buf1;
while(getline(ifs,buf1)){ //循环两次,读取验证
string validation;
cout<<"输入(第一次用户名,第二次密码)"<<endl;
cin>>validation;
if(validation != buf1) //错误反馈
{
cout<<"E:用户,密码错误或读取错误"<<endl;
return 0;
}
}
cout << "---------------------------" << endl;
ifs.clear();
ifs.seekg(ios::beg); //关闭文件,返回代码
return 1;
}
int main()
{
char active;
string name;
string password;
cout<<"您是否要注册一个用户?Y/N"<<endl;
cin>>active;
if(active=='Y')
{
cout<<"请输入您要注册的用户名:"<<endl;
cin>>name;
cout<<"请输入您的密码:"<<endl;
cin>>password;
registered(name,password);
cout<<"请登录:"<<endl;
login();
}
else if(active=='N')
{
login();
}
cout<<"按任意键继续"<<endl;
_getch(); //检测用户键盘事件,按任意键结束
return 0;
}
其实这个主要是利用了文件操作,在实战中你也可以更改文件路径,可以魔改一番......总之什么都行了!
我把代码放在了gitee生需要的可以自行下载:https://gitee.com/intellij_IDEA/login-program_myself