希望有人可以提供帮助。我正在修复很久以前编写的某人的 C 代码中的一个问题,他已经继续前进。
这段代码输出特定文件的时间戳。该代码在 Windows 上运行时运行良好,但在 Linux 上运行时显示年份不正确。年份没有在linux上显示,它显示35222。有谁知道这里有什么问题?
谢谢
窗口输出:
Source file: test.dtl, Created: Mon, 27 May, 2013 at 16:13:20
Linux 输出:
Source file: test.dtl, Created: Mon, 27 May, 35222 at 16:13:20
C代码中的函数:
void SummaryReport ( report_t *report, char *dtlName)
{
LogEntry(L"SummaryReport entry\n");
int i;
wchar_t *rootStrType,*localStr,timeStr[48];
wchar_t fileBuff[64];
struct tm *timeVals;
timeVals = localtime (&logHdr.date);
wcsftime (timeStr,47,L"%a, %#d %b, %Y at %X",timeVals);
/* Print the header information */
DisplayReportFile (report);
ReportEntry (report,L" Filesystem Audit Summary Report\n\n");
ReportEntry (report,L"Source file: %s, Created: %ls\n\n",dtlName,timeStr);
ReportEntry (report,L"Server: %ls",srvrName);
…
}