使用POSIXAPI设置windows创建日期
我有一个程序(jhead),它对Windows和通用Unix变体的编译只做了很少的调整。windows用户不时询问是否可以修改它以同时设置文件的“创建日期/时间”,但我看不到通过POSIXAPI实现这一点的方法。我目前正在做的是: {使用POSIXAPI设置windows创建日期,windows,file,datetime,posix,Windows,File,Datetime,Posix,我有一个程序(jhead),它对Windows和通用Unix变体的编译只做了很少的调整。windows用户不时询问是否可以修改它以同时设置文件的“创建日期/时间”,但我看不到通过POSIXAPI实现这一点的方法。我目前正在做的是: { 结构utimbuf mtime; mtime.actime=NewUnixTime; mtime.modtime=NewUnixTime; utime(文件名和时间); } 理想情况下,struct utimebuf只需要一个创建时间,但它没有。我觉得需要很多特定
结构utimbuf mtime;
mtime.actime=NewUnixTime;
mtime.modtime=NewUnixTime;
utime(文件名和时间);
}
理想情况下,struct utimebuf只需要一个创建时间,但它没有。我觉得需要很多特定于windows的、不可移植的代码才能更改windows下的创建时间。是否有其他POSIX方法可以做到这一点?有什么建议吗?POSIX只识别三种不同的文件时间:
不要担心创建不可移植的代码;在大多数*nix变体下,只有这些时间才是真正存在的。与Windows API相比,用于此的Win32 API并没有那么糟糕:。最棘手的事情是计算出Windows认为在1601年1月1日到1970年1月1日之间有多少秒;剩下的就直截了当了