C++:将 %n 与 strftime 一起使用

C++: Using %n with strftime

我正在 C++ 使用 VS2010 开发应用程序。我尝试将格式 "%d-%m-%y %n %H:%M:%S"strfime 一起使用,但出现运行时错误提示 Debug assert Failed: “Invalid format directive”。在尝试解决该问题时,我发现 %nC++11 的一部分并且不受 VS2010 支持。所以我的问题是:有没有其他方法可以让我在两条不同的行中获得日期和时间?我没有选择使用其他版本的 VS。

编辑:

实际上我正在使用库 wxfreechart 创建图表。日期和时间显示在 X 轴中。在 wxfreechart 中,我有函数 SetDateFormat() 接受 date format in strftime style (http://wxcode.sourceforge.net/docs/freechart/classDateAxis.html)。我的代码实际上如下:

bottomAxis->SetDateFormat(wxT("%d-%m-%y %n %H:%M:%S"));

\n 而不是 %n 这里什么也没有。

抱歉我在 strftime 上犯了错误。

当然,尝试打印格式化字符串 "%d-%m-%y \n %H:%M:%S",从而将 "%n" 替换为 "\n"。这样它应该在旧的 C++ 标准中工作,因此在 VS2010 中。

否则你或许可以考虑升级到更新版本的 visual studio。

这是一个很好的参考:http://www.cplusplus.com/reference/ctime/strftime/

问题不在于 strftime,而在于我对 wxfreechart 的使用。我必须将 verticallabeltext 设置为 false 然后我可以像 strftime.

一样使用 \n
bottomAxis->SetVerticalLabelText(false);
bottomAxis->SetDateFormat(wxT("%d-%m-%y\n%H:%M:%S"));