C++ 命令行文件管理工具:简易实现文件目录浏览
C++ 命令行文件管理工具:简易实现文件目录浏览
本文将使用 C++ 语言实现一个简单的命令行文件管理工具,帮助用户方便地浏览文件和目录。
代码示例
#include <iostream>
#include <string>
#include <filesystem>
namespace fs = std::filesystem;
void displayDirectory(const std::string& path) {
int count = 1;
std::cout << '当前目录:' << path << std::endl;
for (const auto& entry : fs::directory_iterator(path)) {
std::cout << count++ << '. ' << entry.path().filename().string() << std::endl;
}
}
int main() {
std::string currentPath = fs::current_path().string();
displayDirectory(currentPath);
while (true) {
std::cout << '请输入序号:';
int choice;
std::cin >> choice;
if (choice <= 0) {
std::cout << '序号无效!' << std::endl;
continue;
}
int count = 1;
bool found = false;
for (const auto& entry : fs::directory_iterator(currentPath)) {
if (count == choice) {
if (fs::is_directory(entry)) {
currentPath = entry.path().string();
found = true;
break;
}
else {
std::cout << '选择的不是一个有效的目录!' << std::endl;
}
}
count++;
}
if (found) {
displayDirectory(currentPath);
}
else {
std::cout << '无效的选择!' << std::endl;
}
}
return 0;
}
代码解析
该工具使用 std::filesystem 库来处理文件和目录,具体流程如下:
- 初始化: 程序首先获取当前目录并显示其下的文件和目录列表,每个文件或目录前面用序号标识。
- 用户输入: 程序等待用户输入序号选择要进入的目录,或查看的文件。
- 目录切换: 如果用户选择的序号对应一个目录,程序会切换到该目录并显示其下的文件和目录列表。
- 文件查看: 如果用户选择的序号对应一个文件,程序会给出提示信息,说明该选择不是一个有效的目录。
- 循环操作: 程序会不断循环,等待用户输入,直到用户退出程序。
功能拓展
该工具可以进一步扩展,实现更多功能,例如:
- 文件内容查看
- 文件删除
- 文件复制
- 文件重命名
- 文件搜索
总结
本文提供了一个简单的命令行文件管理工具的示例,使用 std::filesystem 库实现基本的文件系统操作。用户可以根据自身需求对代码进行修改和拓展,实现更多功能。
原文地址: https://www.cveoy.top/t/topic/phgC 著作权归作者所有。请勿转载和采集!