在我的 C++ Linux 应用程序中我有这个宏:
#define PRINT(format,arg...) printf(format,##arg)
我想在 PRINT 字符串的开头添加日期和时间。 (这是一个日志,所以我想要在运行时使用变量) 如何更改此宏以执行此操作?
谢谢
最佳答案
你想在字符串中添加编译时间还是运行时间?如果是前者:
#define PRINT(format,arg...) printf(__DATE__ ":" __TIME__ " " format,##arg)
大部分时间都有效。
请注意,这仅在调用 PRINT 仅使用字符串文字作为格式字符串时才有效。 (即,PRINT( "foo") 会起作用,但 PRINT( x ) 不起作用,其中 x 是一个变量)。
如果您想要一个运行时日期和时间,只需将“%s”附加到格式,然后添加一个函数调用,该函数返回您想要的参数之前的内容。
关于c++ PRINT macro linux - 添加日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931549/