Copying two files in a third one...
-
[quote author="croussou" date="1329984083"]Aha, okay I get it now thanks. What about .zip files, that's what I am mostly interested about...
Can I zip a file through my application? For example, there is a button for file creation, then another one checking if the file really exists and then a button called add to archive, where I put the file in question, in a .7z, .rar archive.[/quote]
No, it will not work with archives such as zip or 7z. Archives have headers as well. Those headers describe which files or folders are in the archive, and where their data can be found inside the file.
-
According to "wikipedia":http://en.wikipedia.org/wiki/Zip_(file_format)#File_headers, the .zip file format DOES feature a header that contains plenty of information:
bq. 0 4 Local file header signature = 0x04034b50 (read as a little-endian number)
4 2 Version needed to extract (minimum)
6 2 General purpose bit flag
8 2 Compression method
10 2 File last modification time
12 2 File last modification date
14 4 CRC-32
18 4 Compressed size
22 4 Uncompressed size
26 2 File name length (n)
28 2 Extra field length (m)
30 n File nameIt is pretty much safe to assume if you use this method to join two zip files you will get what MIGHT appear as a good file, but IT WILL BE CORRUPTED.
-
It was mostly a general question, if there is any way for an application to provide files in an archive :)
Not about concatenation itself...just the zipping process. -
You have no option but use the archive format API to merge two archives together.
-
[quote author="ddriver" date="1329984668"]You have no option but use the archive format API to merge two archives together.[/quote]
I don't want to merge :) I just want to save a file that I read from my application in a .zip format. For example a text file, I want to be able to add it in an archive on the desktop through the app that is.
-
[quote author="croussou" date="1329984584"]It was mostly a general question, if there is any way for an application to provide files in an archive :)
Not about concatenation itself...just the zipping process.[/quote]
Grmbl!
Then please, why do you only say that now? Why do you send us down a different road, trying to answer the question you asked instead of the question you have? Please spend a bit more time formulating your actual question in the future; describe what you want to achieve, not how you think you might achieve it. That will make us spend our time more efficiently.Anyway, working with ZIP files is a "FAQ":http://developer.qt.nokia.com/faq/answer/how_to_compress_data_with_qt on this site. There is "plenty":http://developer.qt.nokia.com/search?search=zip to be found on this site on this topic.
-
Again, you have to use the format API. Or reimplement everything yourself which is not really applicable.
Luckily most archive formats have an open API so they can easily be integrated.
-
Well, I certainly apologize for misleading you. I was just trying to explain what I want to achieve...obviously did not come out in the right way.
-
Relax, we are all flawed by design - that is what life is for, polishing those flaws ;)
Take a look here:
http://www.7-zip.org/sdk.htmlbq. LZMA SDK includes:
C++ source code for .7z compression and decompression (reduced version)This is no longer Qt territory, but you can easily integrate the 7zip library and use it in your Qt project.
-
Thank you.
Looks interesting indeed. I will have a look, although I am not sure that I can use it that easily :)
-
You cannot expect others to write all your code for you, you have to learn it for yourself, and it does take time. Even if your get all the code snippets from others, without the proper skills you will not be able to put them together in a working program. Rome wasn't built overnight you know ;)
-
Definitely, no doubt about that. It's just the best way for me to learn is by reading theory but mostly examples. Then you can apply the similar functionality to your application :)
-
A final word of advice, don't think, not even for a moment, that you will be able to avoid the hard work of digging through the documentation, all the examples you see cover at best the very basics, learning to find what you need in the DOC is MANDATORY if you really intend to become a programmer.
Good luck.
-
Thanks for all the help you provided, much appreciated.
-
wow. This thread went down a totally different path than I thought it would.
#lol#