Welcome to the Linux Foundation Forum!

Porting Windows CopyFile to Linux?

I have an application that makes extensive use of Windows CopyFile.

http://msdn.microsoft.com/en-us/library/aa363851(VS.85).aspx

This function copies a file between folders on same, different hard drives and also across the local file sharing network [SAMBA].

The key property of this function is to preserve the "last modified" date attribute of a file.

Does anyone know of a Linux system function or a library function that provides these features?

Thanks,

ww

Comments

  • mfillpot
    mfillpot Posts: 2,177
    Are you looking to develop or use another application to accomplish this task?

    I am asking because the linux cp command easily copies files and preserves the permissions and timestamps.
  • The application is currently MFC / C++ and I'd like to port to Qt / C++. I'd rather not launch a new command shell for each copy function.

    I guess failing all other solutions, I could get the source for cp and make a library function. But I'd rather call an existing file function library.

    Turns out windows has some pretty neat file functions that incorporate "transactions" and callbacks during the process to update progress bars.
    http://msdn.microsoft.com/en-us/library/aa363853(v=VS.85).aspx

    Those are interesting features for my new version of this program, but I want to provide a Linux version too. Hence the choice of Qt for the platform.

    Thanks,
    windy
  • mfillpot
    mfillpot Posts: 2,177
    I have found information about QFile:: Copy using the Qtcreator help reference, I have not yet tested it to see what attributes are copied. You should also look info QUrlInfo:: setLastModified and the other QUrlInfo functions, which can help you to modify file properties.
  • I confirmed that the QFile::Copy does preserve the modified date/time, at least on Windows as you would expect.
    Thanks,
    Windy

Categories

Upcoming Training