c++在.sage文件夹中根据时间创建文件夹,文件夹名为当前的时间,格式为:%Y-%m-%d-%H-%M每10min中生成一个新的,文件夹命名时间分钟必须为十的倍数
时间: 2024-03-12 17:44:04 浏览: 67
好的,以下是 C++ 的代码实现,可以满足你的需求:
```c++
#include <iostream>
#include <chrono>
#include <ctime>
#include <iomanip>
#include <filesystem>
#include <thread>
namespace fs = std::filesystem;
int main() {
while (true) {
auto now = std::chrono::system_clock::now();
std::time_t time = std::chrono::system_clock::to_time_t(now);
std::tm tm = *std::localtime(&time);
// 判断分钟是否为10的倍数
if (tm.tm_min % 10 == 0) {
std::stringstream ss;
ss << std::put_time(&tm, "%Y-%m-%d-%H-%M");
std::string folder_name = ss.str();
// 在.sage文件夹中创建文件夹
fs::path folder_path = fs::current_path() / ".sage" / folder_name;
if (!fs::exists(folder_path)) {
fs::create_directory(folder_path);
std::cout << "Folder " << folder_path << " created." << std::endl;
}
}
// 每10分钟检查一次
std::this_thread::sleep_for(std::chrono::minutes(10));
}
return 0;
}
```
这段代码中,我们使用 C++17 中的 `<filesystem>` 库来操作文件夹,使用 `<chrono>` 库来获取当前时间。程序会在当前目录下的 `.sage` 文件夹中创建新的文件夹,文件夹名为当前时间,格式为 `%Y-%m-%d-%H-%M`,如果当前时间分钟为十的倍数,则创建文件夹。程序会每10分钟检查一次当前时间,并创建新的文件夹。
阅读全文