我對函數stat()有嚴重的麻煩。我在cygwin下編譯OND Windows 7和相同的應用程序與MSVC++編譯在Windows 7的應用程序包含下面的代碼的應用程序:C stat()和夏時制
struct stat stb;
memset(&stb, 0, sizeof(stb));
stat(szPath, &stb);
cout << hex << uppercase << setw(8) << stb.st_mtime << endl;
szPath
是一個文件的路徑。該文件不會被應用程序以任何方式修改。問題是,我得到不同的結果一些文件。例如:
cygwin version: 40216D72
MSVC++ version: 40217B82
的差始終E10 = 3600 =1小時
通過使用谷歌,i found this,這似乎正好是我看到了同樣的問題。有沒有一種便攜式的方式來解決這個問題?我無法使用任何WinAPI調用。最簡單可靠的解決方案就是我所需要的,但如果它需要變得複雜,就這樣吧。可靠性和可移植性(win + linux)是最重要的。
這就是爲什麼你應該永遠不會使用本地時間除了與用戶交互之外的任何內容。 – 2010-07-16 12:34:23
不幸的是,這是我不能改變的。我的任務是確保兩個平臺上的輸出相同。 – PeterK 2010-07-16 13:12:20