C++ 简单数据库示例:使用 vector 实现基本功能

本文提供一个简单的 C++ 数据库示例,使用 std::vector 存储记录。示例涵盖了加载、保存、添加、删除和打印数据库的功能,并演示了如何使用该数据库。

代码示例

#include <iostream>
#include <fstream>
#include <vector>
#include <string>

struct Record { int id; std::string name; std::string email; };

std::vector<Record> loadDatabase(const std::string& filename) { std::vector<Record> database; std::ifstream file(filename); if (file.is_open()) { Record record; while (file >> record.id >> record.name >> record.email) { database.push_back(record); } file.close(); } return database; }

void saveDatabase(const std::vector<Record>& database, const std::string& filename) { std::ofstream file(filename); if (file.is_open()) { for (const auto& record : database) { file << record.id << " " << record.name << " " << record.email << std::endl; } file.close(); } }

void printDatabase(const std::vector<Record>& database) { for (const auto& record : database) { std::cout << "ID: " << record.id << ", Name: " << record.name << ", Email: " << record.email << std::endl; } }

void addRecord(std::vector<Record>& database, int id, const std::string& name, const std::string& email) { Record record; record.id = id; record.name = name; record.email = email; database.push_back(record); }

void deleteRecord(std::vector<Record>& database, int id) { for (auto it = database.begin(); it != database.end(); ++it) { if (it->id == id) { database.erase(it); break; } } }

int main() { std::vector<Record> database = loadDatabase("database.txt");

addRecord(database, 1, "Alice", "alice@example.com");
addRecord(database, 2, "Bob", "bob@example.com");
addRecord(database, 3, "Charlie", "charlie@example.com");

printDatabase(database);

deleteRecord(database, 2);

saveDatabase(database, "database.txt");

return 0;

}

代码解析

  • 代码定义了一个名为 Record 的结构体,用于存储每条记录的信息,包括 ID、姓名和电子邮件。
  • loadDatabase 函数从名为 "database.txt" 的文件中加载数据库,并返回一个包含所有记录的 std::vector
  • saveDatabase 函数将数据库保存到名为 "database.txt" 的文件中。
  • printDatabase 函数打印数据库中的所有记录。
  • addRecord 函数将新记录添加到数据库中。
  • deleteRecord 函数从数据库中删除指定 ID 的记录。
  • main 函数中,代码首先从文件中加载数据库,然后添加几条记录并打印数据库内容。接着删除 ID 为 2 的记录,并将更新后的数据库保存到文件中。

扩展

此示例只是一个简单的数据库实现,你可以在此基础上进行扩展,例如:

  • 添加更多字段到 Record 结构体,以存储更多信息。
  • 实现更复杂的查询功能,例如根据姓名或电子邮件进行搜索。
  • 使用数据库管理系统 (DBMS) 来管理数据,例如 SQLite 或 MySQL。

希望本示例能够帮助你理解使用 C++ 创建简单数据库的基本概念。如果你有任何疑问或需要进一步的帮助,请随时提问。

C++ 简单数据库示例:使用 vector 实现基本功能

原文地址: https://www.cveoy.top/t/topic/pPnC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录