誰かが助けてくれることを願っています。私は、ずっと前に書かれた誰かの 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);
…
}