最近更新于 2024-10-30 12:51
测试环境
Visual Studio 2022
方案
C/C++ 中有 __DATE__ 和 __TIME__ 两个预定义宏,分别为日期和时间,在程序内作为字符串使用就行。编译器预处理的时候就会获取日期和时间填进去作为常量字符串。
不过这两个字符串都不是宽字符串,在一些特别的情景下,比如 Windows API 系列的项目中,普遍要使用宽字符串。
参考
#include <cstdio>
#define charStringToWideCharString(s) L##s
#define CSTWCS(s) charStringToWideCharString(s)
#define WDATE CSTWCS(__DATE__)
#define WTIME CSTWCS(__TIME__)
int main()
{
wprintf(L"%s %s\n", WDATE, WTIME);
}
C/C++ 程序内获取编译时间