c++斗地主用文件读取写一个历史最高分得分记录
时间: 2023-07-18 08:40:16 浏览: 192
文件读写入链表.zip_C++链表_数据结构_文件读写_读链表_链表读取文本
5星 · 资源好评率100%
好的,以下是一个简单的 C++ 代码示例,用于记录斗地主游戏的历史最高分得分记录:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
int score;
string line;
int highest_score = 0;
// 打开文件,如果文件不存在则创建新文件
ifstream file("landlord_scores.txt");
if (file.is_open()) {
// 如果文件存在,则读取文件中的历史最高分得分记录
while (getline(file, line)) {
if (line.find("最高得分: ") != string::npos) {
int score_in_file = stoi(line.substr(6));
highest_score = max(highest_score, score_in_file);
}
}
file.close();
}
// 进行游戏,获取当前得分 score
// 如果当前得分高于历史最高分得分记录,则更新记录并写入文件
if (score > highest_score) {
ofstream file("landlord_scores.txt");
if (file.is_open()) {
file << "最高得分: " << score << endl;
file.close();
}
}
return 0;
}
```
在这个示例中,我们使用了 C++ 标准库中的 `fstream` 类来打开文件,并通过 `is_open()` 方法检查文件是否成功打开。然后我们使用 `getline()` 方法逐行读取文件内容,并通过 `find()` 方法在每一行中查找是否包含历史最高分得分记录。如果找到了历史最高分得分记录,则使用 `substr()` 方法从字符串中截取得分记录,并使用 `stoi()` 方法将其转换为整数。最后我们使用 `max()` 函数取出历史最高分得分记录。接着我们进行游戏并获取当前得分 `score`,如果当前得分高于历史最高分得分记录,则使用 `"ofstream"` 模式打开文件并将新的最高得分记录写入文件中。
请注意,在实际应用中,您需要根据具体需求适当修改代码,并添加错误处理和异常处理等必要的代码。
阅读全文