24,853
社区成员
发帖
与我相关
我的任务
分享
if (!file.open(QIODevice::Append| QIODevice::Text)) //以追加方式打开文件
{
QMessageBox::warning(this, "打开文件错误", QString::fromLocal8Bit("以追加方式打开文件失败!"));
return;
}
/**************************************************************
*服务器管理用户信息插入用户信息子函数
*函数功能:获取用户ID,名字,密码,检查有效性,如果合法则插入用户信息
*入口参数:无
*出口参数:无
*************************************************************/
void ServerWin::insertUserInfo()
{
ui->oprstatus->setText("处理一条添加用户信息操作");
UserInfo userinfo;
userinfo.id=ui->addIdLine->text();
userinfo.password=ui->addPasswordLine->text();
userinfo.srtName=ui->addUserNameLine->text();
insertButtonOk=true;
if(this->checkInputInfo()!=0) //检查用户信息的有效性
{
insertButtonOk=false;
return ;
}
insertButtonOk=false;
QFile file(":/userinfo.txt");
QTextStream in(&file);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) //以只读方式打开文件
{
QMessageBox::warning(this, "打开文件错误", QString::fromLocal8Bit("以只读方式打开文件失败!"));
return;
}
//qDebug()<<"以只读方式文件打开成功";
while (!in.atEnd()) { //遍历用户ID
int i=0;
QString info=in.readLine();
for(i=0;i<info.length();i++)
{
if(info.at(i)==' ')
{
break;
}
}
QString id=info.left(i); //获取用户ID
if((QString::localeAwareCompare(userinfo.id,id))==0) //如果有相同的用户ID,则提示错误
{
QMessageBox::warning(this, "添加用户信息错误", QString::fromLocal8Bit("此ID号已经存在,请重新输入用户信息!"));
return;
}
}
file.close();
if (!file.open(QIODevice::Append| QIODevice::Text)) //以追加方式打开文件
{
QMessageBox::warning(this, "打开文件错误", QString::fromLocal8Bit("以追加方式打开文件失败!"));
return;
}
//qDebug()<<"以追加方式文件打开成功";
QTextStream out(&file);
out <<userinfo.id <<' '<< userinfo.srtName <<' '<< userinfo.password<<"\n"; //添加用户信息
QMessageBox::warning(this, "提示", QString::fromLocal8Bit("此条用户信息添加成功"));
file.close();
}