我对函数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