c++

c++ sprintf_s格式化日期时间怎么做

小樊
124
2024-07-10 10:56:20
栏目: 编程语言

在C++中使用sprintf_s函数格式化日期和时间非常简单。以下是一个简单的示例:

#include <iostream>
#include <ctime>

int main() {
    char buffer[80];
    time_t now = time(0);
    tm* timeinfo = localtime(&now);

    sprintf_s(buffer, sizeof(buffer), "%d-%02d-%02d %02d:%02d:%02d",
              timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday,
              timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);

    std::cout << "Current date and time: " << buffer << std::endl;

    return 0;
}

在这个示例中,我们使用time函数获取当前的时间戳,然后调用localtime函数将时间戳转换为本地时间。接着,我们使用sprintf_s函数将日期和时间格式化为YYYY-MM-DD HH:MM:SS的字符串,并将其存储在buffer数组中。最后,我们将格式化后的日期和时间输出到控制台。

请注意,在使用sprintf_s函数时,需要传入目标缓冲区的大小作为参数,以确保不会发生缓冲区溢出。

0
看了该问题的人还看了