以下是一个使用C++读取文件修改日期并与当前时间进行比较判断是否过期的示例代码:

#include <iostream>
#include <fstream>
#include <ctime>
#include <sys/stat.h>

bool isFileExpired(const std::string& filePath, int expirationDays) {
    // 获取文件的修改时间
    struct stat result;
    if (stat(filePath.c_str(), &result) != 0) {
        std::cerr << "Failed to get file stats." << std::endl;
        return false;
    }
    time_t modifiedTime = result.st_mtime;
    
    // 计算当前时间
    time_t currentTime = time(nullptr);
    
    // 计算过期时间
    time_t expirationTime = currentTime - (expirationDays * 24 * 60 * 60);
    
    // 比较修改时间和过期时间
    return modifiedTime < expirationTime;
}

int main() {
    std::string filePath = "example.txt";
    int expirationDays = 7;
    
    if (isFileExpired(filePath, expirationDays)) {
        std::cout << "The file is expired." << std::endl;
    } else {
        std::cout << "The file is not expired." << std::endl;
    }
    
    return 0;
}

请注意,此代码使用了 stat 函数来获取文件的修改时间。在 Windows 系统中,您可能需要使用 _stat 函数。此外,修改时间和当前时间都是以秒为单位的时间戳

请用C++写一份读取文件修改日期与现行时间进行精确判断 是否过期

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

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