__DATE__ 宏的不同格式

新手上路,请多包涵

C有一个预定义的宏 __DATE__ ,它显示了编译源文件的日期。

日期以 “Mmm dd yyyy” 格式显示。

有没有办法使用宏来格式化这个日期?

以这种格式 “yyyy Mmm dd”

而不是:

2013 年 7 月 19 日

应该 :

2013 年 7 月 19 日

原文由 boleto 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

在 C 中,您可以有一个宏,它可以动态生成具有您喜欢的顺序的复合文字,例如

#define FDATE (char const[]){ __DATE__[7], __DATE__[8], ..., ' ', ... , '\0' }

在所有重要的地方,您的优化器都应该能够有效地处理这个问题。

原文由 Jens Gustedt 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题