私のプログラムでは、いくつかのウィジェットを作成して処理したいくつかのページを作成しようとしています。
ページの 1 つで、ID とユーザー名とパスワードを取得し、それらをファイルに保存したいと考えています。私は問題なく行うことができます。
しかし、別の .cpp ファイルでは、それらのファイルに保存されている情報を使用して、入力したユーザー名とパスワードが正しいかどうかを確認したいと考えています。しかし、すでに作成したファイルを開いて読み取ることはできません。
そのため、既に作成され、テキストが含まれているファイルを開いて使用する方法について、いくつかの助けをいただければ幸いです。
情報を保存するために私がすでに書いたものは次のとおりです。
QFile users_file; // making a file
QString ID= ui->IDlineEdit->text(); // storing what is written in the LineEdit in a QString
QString username= ui->UserlineEdit->text();
QString password= ui->PasslineEdit->text();
users_file.setFileName(ID); //the file's name will be the ID
users_file.open(QIODevice::ReadWrite | QIODevice::Text);
QTextStream users_fileStream(&users_file);
users_fileStream.operator <<(ID);
users_fileStream.operator <<("\n");
users_fileStream.operator <<(username);
users_fileStream.operator <<("\n");
users_fileStream.operator <<(password);
users_fileStream.operator <<("\n");
//and this is what I've written for opening the files and reading them.
// but i have to mention that this part is in another .cpp different from the
// one that i wrote my previous code in it.
// i know it doesn't work but that's all i could think of so far.
int i=1;
while( i)
{
QString username= ui->lineEdit->text();
QFile myfile;
myfile.setFileName(username);
myfile.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream files(&myfile);
QString PassFromFile;
// I've written this part twice because the password is actually the second line on my file.
PassFromFile=files.readLine();
PassFromFile=files.readLine();
if( PassFromFile == ui->lineEdit_2->text())
{ i=0;
this->centralWidget()->hide();
usersPage->show();
}
}