Linux.com

Porting Windows CopyFile to Linux?

Link to this post 02 Dec 10

I have an application that makes extensive use of Windows CopyFile.
http://msdn.microsoft.com/en-us/library/aa363851%28VS.85%29.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

Link to this post 02 Dec 10

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.

Link to this post 02 Dec 10

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%28v=VS.85%29.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

Link to this post 02 Dec 10

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.

Link to this post 07 Dec 10

I confirmed that the QFile::Copy does preserve the modified date/time, at least on Windows as you would expect.
Thanks,
Windy

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board