[Risolto] [C] spostare un file in una cartella

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
mike@86
Prode Principiante
Messaggi: 228
Iscrizione: lunedì 27 aprile 2009, 12:58

[Risolto] [C] spostare un file in una cartella

Messaggio da mike@86 »

salve....
sapete se esiste una funzione in C che permetta di spostare un file in una cartella?
grazie
Ultima modifica di mike@86 il sabato 24 ottobre 2009, 0:17, modificato 1 volta in totale.
dieg84
Prode Principiante
Messaggi: 40
Iscrizione: sabato 10 ottobre 2009, 12:39

Re: [C] spostare un file in una cartella

Messaggio da dieg84 »

proverei con

Codice: Seleziona tutto

int = fsetpos(FILE *pf, const fpos_t *ppos)
che dovrebbe essere contenuto in stdio.h ...Nnon l'ho mai usata, ma mi sembra la funzione che fa al caso tuo...
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [C] spostare un file in una cartella

Messaggio da crap0101 »

oppure, credo più semplice, rename http://www.gnu.org/software/libc/manual ... ming-Files
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
mike@86
Prode Principiante
Messaggi: 228
Iscrizione: lunedì 27 aprile 2009, 12:58

Re: [C] spostare un file in una cartella

Messaggio da mike@86 »

posso chiederti un esempio più pratico?
allora io ho il programma con tutti i relativi file da lui creati nella chiavetta usb... dentro la chiavetta vorrei creare la cartella di nome  ad esempio "archivio" e spostarci dentro il file di nome "file13.dat"...
come devo usarla questa funzione?
mike@86
Prode Principiante
Messaggi: 228
Iscrizione: lunedì 27 aprile 2009, 12:58

Re: [C] spostare un file in una cartella

Messaggio da mike@86 »

ma la funzione rename non rinomina semplicemente il file?
come faccio a mettere il file "file13" nella cartella "archivio"?
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [C] spostare un file in una cartella

Messaggio da crap0101 »

mike@86 ha scritto: ma la funzione rename non rinomina semplicemente il file?
come faccio a mettere il file "file13" nella cartella "archivio"?
sì, ma se lo rinomini con un altro percorso, l' effetto è di spostarlo (il realtà il file non si sposta).
mike@86 ha scritto: posso chiederti un esempio più pratico?
allora io ho il programma con tutti i relativi file da lui creati nella chiavetta usb... dentro la chiavetta vorrei creare la cartella di nome  ad esempio "archivio" e spostarci dentro il file di nome "file13.dat"...
come devo usarla questa funzione?
tutto all' interno della chiavetta? perchè con rename il vecchio e il nuovo devono stare sullo stesso file system.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
mike@86
Prode Principiante
Messaggi: 228
Iscrizione: lunedì 27 aprile 2009, 12:58

Re: [C] spostare un file in una cartella

Messaggio da mike@86 »

quindi basta fare
rename("file13.dat", "archivio\file13.dat");  ?
dieg84
Prode Principiante
Messaggi: 40
Iscrizione: sabato 10 ottobre 2009, 12:39

Re: [C] spostare un file in una cartella

Messaggio da dieg84 »

Se creiamo un file, ci sarà un puntatore tipo questo:

Codice: Seleziona tutto

FILE *file13;
Dunque, dovrebbe bastare, suppongo:

Codice: Seleziona tutto

fsetpos(file13, "indirizzo");
qui mi sorge il dubbio su cosa mettere nella stringa indirizzo.... tutto l'indirizzo o solo il nome della cartella archivio?? Spero che arrivi qualcuno in aiuto...
mike@86
Prode Principiante
Messaggi: 228
Iscrizione: lunedì 27 aprile 2009, 12:58

Re: [C] spostare un file in una cartella

Messaggio da mike@86 »

diciamo che questo era proprio il mio dubbio.....
ho fatto qualche prova con la funzione rename e bisogna mettere tutto l'indirizzo

Codice: Seleziona tutto

#include <stdio.h>
 

int main()
{
	rename("09 10.dat", "/media/disk/archivio/09 10.dat");
	
	return 0;
}
(good)

grazie mille a tutti per le risposte  (b2b)
Ultima modifica di mike@86 il sabato 24 ottobre 2009, 0:16, modificato 1 volta in totale.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti