在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
函数时,需要传入目标缓冲区的大小作为参数,以确保不会发生缓冲区溢出。