Hayate (hayate_) wrote,
Hayate
hayate_

Win32 API и POSIX

Изначально написал (или нагуглил?) программист под Windows.
Мне нужно было перенести под макось.
Сколько времени требуется, чтобы разобраться в первой версии, и сколько, чтобы во второй?



#ifdef WIN32
void SetFileModifiedTime(const char* szFullName)
{
    HANDLE hFile = CreateFile(
        szFullName,
        GENERIC_WRITE,
        FILE_SHARE_READ,
        NULL,
        OPEN_ALWAYS,
        FILE_WRITE_ATTRIBUTES,
        NULL);

    if (hFile != INVALID_HANDLE_VALUE)
    {
        FILETIME ftCreate, ftAccess, ftWrite;

        GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite);

        GetSystemTimeAsFileTime(&ftWrite);
        memcpy(&ftAccess, &ftWrite, sizeof(ftAccess));

        SetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite);
        CloseHandle(hFile); 
    }
}
#else
void SetFileModifiedTime(const char* szFullName)
{
    utimes(szFullName, NULL);
}
#endif
Tags: programming, работа
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments