vector<UserInfo> readUserInfo() { vector<UserInfo> userInfos; ifstream inFile("user.txt"); if (!inFile.is_open()) { cout << "文件不存在或无法打开!" << endl; return userInfos; } string line; while (getline(inFile, line)) { istringstream iss(line); string username, password; iss >> username >> password; UserInfo userInfo = { username, password }; userInfos.push_back(userInfo); } inFile.close();如何将账号和密码信息保存在名为"user.txt"的文本文件中
时间: 2024-03-16 16:43:24 浏览: 142
可以使用ofstream类创建一个输出文件流,将用户信息写入到"user.txt"文件中。以下是示例代码:
```
void writeUserInfo(const vector<UserInfo>& userInfos) {
ofstream outFile("user.txt");
if (!outFile.is_open()) {
cout << "文件无法打开!" << endl;
return;
}
for (auto userInfo : userInfos) {
outFile << userInfo.username << " " << userInfo.password << endl;
}
outFile.close();
}
```
以上代码中,首先创建一个名为outFile的ofstream对象,用于写入文件。如果无法打开文件,则会输出错误信息并返回。然后,使用一个for循环遍历userInfos容器中的所有UserInfo对象,将每个对象的username和password属性按照"用户名 密码"的格式写入到文件中。最后,关闭文件流。
相关问题
vector<UserInfo> readUserInfo() { vector<UserInfo> userInfos; ifstream inFile("user.txt"); if (!inFile.is_open()) { cout << "文件不存在或无法打开!" << endl; return userInfos; } string line; while (getline(inFile, line)) { istringstream iss(line); string username, password; iss >> username >> password; UserInfo userInfo = { username, password }; userInfos.push_back(userInfo); } inFile.close();
这段代码是用来读取一个文本文件中的用户信息,并将其存储到一个vector容器中。其中,每行文本的格式应该是"用户名 密码",通过istringstream将每行文本按空格分隔成两个字符串,分别赋值给username和password变量,然后创建一个UserInfo对象,并将这个对象添加到userInfos容器中。如果文件无法打开,则会输出错误信息并返回一个空的userInfos容器。
vector<Student> readUserInfo() { string newUsername, newPassword; cout << "请输入新用户名:"; cin >> newUsername; cout << "请输入新密码:"; cin >> newPassword; vector<Student> userInfos; ifstream inFile("user.txt"); if (!inFile.is_open()) { cout << "文件不存在或无法打开!" << endl; return userInfos; } Student userInfo; while (inFile >> userInfo.id >> userInfo.password) { userInfos.push_back(userInfo); } inFile.close(); ofstream outFile("user.txt", ios::app); if (!outFile.is_open()) { cout << "无法打开文件!" << endl; return userInfos; } outFile << userInfo.id << " " << userInfo.password << endl; outFile.close(); return userInfos;}
这段代码的作用是读取名为"user.txt"的文件中的学生信息,并向其中添加新的学生信息,最后返回所有学生信息的vector。具体来说,代码首先要求用户输入新的用户名和密码,然后打开"user.txt"文件并读取其中的每个学生的id和password,将它们存储在一个vector<Student>类型的变量userInfos中。然后,代码尝试打开"user.txt"文件以添加新的学生信息。如果文件无法打开,则会显示错误信息并返回空的userInfos向量。
在while循环中,代码将读取的每个学生的信息添加到userInfos向量中。最后,代码打开"user.txt"文件以将新的学生信息添加到文件中,然后关闭文件并返回所有学生信息的向量userInfos。
阅读全文