操作系统实验文件管理c++
时间: 2023-12-22 21:28:10 浏览: 127
以下是一个简单的C++文件管理系统的实现,包括创建文件、删除文件、重命名文件、显示文件列表等功能:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 文件结构体
struct File {
string name; // 文件名
int size; // 文件大小
};
// 文件管理类
class FileManager {
private:
vector<File> files; // 文件列表
public:
// 创建文件
void createFile(string name, int size) {
File file = {name, size};
files.push_back(file);
cout << "文件创建成功!" << endl;
}
// 删除文件
void deleteFile(string name) {
for (vector<File>::iterator it = files.begin(); it != files.end(); it++) {
if (it->name == name) {
files.erase(it);
cout << "文件删除成功!" << endl;
return;
}
}
cout << "文件不存在!" << endl;
}
// 重命名文件
void renameFile(string oldName, string newName) {
for (vector<File>::iterator it = files.begin(); it != files.end(); it++) {
if (it->name == oldName) {
it->name = newName;
cout << "文件重命名成功!" << endl;
return;
}
}
cout << "文件不存在!" << endl;
}
// 显示文件列表
void showFiles() {
if (files.empty()) {
cout << "文件列表为空!" << endl;
return;
}
cout << "文件列表:" << endl;
for (vector<File>::iterator it = files.begin(); it != files.end(); it++) {
cout << it->name << " " << it->size << "KB" << endl;
}
}
};
int main() {
FileManager fm;
int choice;
string name, newName;
int size;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 创建文件" << endl;
cout << "2. 删除文件" << endl;
cout << "3. 重命名文件" << endl;
cout << "4. 显示文件列表" << endl;
cout << "5. 退出" << endl;
cin >> choice;
switch (choice) {
case 1:
cout << "请输入文件名和大小(KB):" << endl;
cin >> name >> size;
fm.createFile(name, size);
break;
case 2:
cout << "请输入要删除的文件名:" << endl;
cin >> name;
fm.deleteFile(name);
break;
case 3:
cout << "请输入要重命名的文件名和新文件名:" << endl;
cin >> name >> newName;
fm.renameFile(name, newName);
break;
case 4:
fm.showFiles();
break;
case 5:
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
阅读全文