代码之家  ›  专栏  ›  技术社区  ›  PeterK

C stat()和夏时制

  •  3
  • PeterK  · 技术社区  · 15 年前

    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
    

    区别总是存在的 =3600=1小时

    i found this ,这似乎和我看到的问题完全一样。有没有一个便携式的方法来解决这个问题?我不能使用任何WinAPI调用。最简单可靠的解决方案就是我要找的,但如果需要复杂的话,那就顺其自然吧。可靠性和可移植性(win+linux)在这里是最重要的。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Brooks Moses    15 年前

    #ifdef _MSC_VER
       // do MSVC++-specific code
    #else
       // do Linux/Cygwin/generic code
    #endif
    

    然后您应该能够在 _MSC_VER

        2
  •  1
  •   Mark B    15 年前
        3
  •  0
  •   user393956    15 年前

    推荐文章