|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
Aiuto:Devo zippare dei file con un programma C
Sto lavornado con linux e ho bisogno di zippare tutti i file che si trovano in una cartella in un unico file zip.
Non potendo usare SYSTEM, come posso fare ? Grazie! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Scusa non ho capito.....
Devi fare un prog in C sotto Linux che ti zippi detti files o devi lanciare un comando da shell oppure devi creare uno script?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
la seconda che hai detto
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
portati nella cartella dove sono contenuti i file e scrivi:
tar -cvf nomearchivio.tar *.* poi gzip pippo.tar.gz
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
e se invece volessi fare io un programma in C che mi zippa?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Ma non c'è ragione.....dato che ne esistono tantissimi!!
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
Il fatto è che devo fare un progetto per il corso di programmazione di sistema.... fin'ora non ho avuto problemi ma sono arrivato al punto in cui dice
"La risposta del server sul pipe /tmp/serverclientpid consiste: di un file .zip contenente tutti i messaggi ricevuti dall?utente, i quali vengono eliminati dalla directory del mserver. Il mclient provvede ad decomprimere il file .zip, lasciando nella directory corrente i messaggi richiesti. Per le operazioni di compressione/decompressione si veda il manuale dei programmi zip e unzip." e poco più avanti: "NON devono essere utilizzate le seguenti funzioni o chiamate: printf() (la sprintf() pu`o essere utilizzata); system(); funzioni di libreria standard C per l?accesso ai file (peraltro non viste a lezione) quali fopen(), fread(), fwrite(), ecc." e qui mi sono fermato...... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Ma visto che NON devono essere utilizzate le funzioni di libreria standard in C (se non ho capito male...) perchè vuoi usare C?
Scusami ancora ma non mi è ben chiara la situazione
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Mi rispondo da solo!!!!
Ho letto male il tuo post quindi puoi usare system() e le funzioni standard C. Sorry
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
Immaginavo di dover forkizzare ma non ero sicuro: quindi creo un figlio e gli faccio eseguire lo zip passandogli come argomenti i file da zippare, giusto ?
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
grazie domani provo....
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Re: Aiuto:Devo zippare dei file con un programma C
Quote:
Grande Mr. Bad Guy
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
Sono riuscito a zippare i file ma ho ancora un problemino, i file sono contenuti in una cartella del tipo
/tmp/USERxxx Quando unzippo l'archivio mi viene ricreata la struttura delle cartelle mentre io desiderei disizzipare i file nella cartella da me indicata e non voglio che mi venga creata la cartella tmp all'interno della quale si trova USERxxx, non so se mi sono spiegato.... |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
dal manuale di unzip:
Codice:
[-d exdir]
An optional directory to which to extract files.
-j junk paths.
sono le due opzioni che ti servono |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2002
Città: ...diciamo Pisa
Messaggi: 1282
|
Grazie, l'avevo scoperto dopo aver postato, comunque grazie lo stesso!!!
il problema ora è un altro (ma guarda un po' su che caz+++e mi blocco): Se da shell scrivo [~] -> zip -j /tmp/USERxxx/mail /tmp/USERxxx/* Mi crea un file mail.zip con dentro tutti i file contenuti in USERxxx(ed è quello che volgio) invece se nel codice scrivo: if(pid == 0) { char *argomenti[]={"zip","-j",pathzip,pathfiles,NULL}; execvp("zip", argomenti); } (in pathzip e pathfiles ho le directory usate prima da shell) mi da questo errore: "missing end signature -- probably not a zip file(did you remember to use binary mode when you transferred it?) zip error:Zip file structure invalid (/tmp/USERxxx/mail.zip) AIUTATEMI, VI PREGO !!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:21.



















