View Full Version : [C++]eseguire ed eliminare un file
ho creato un programma che usa dei file temporanei.
vorrei che quando salvo un file elimini quello temporaneo e faccia partire quello salvato. si può fare?
GRAZIE
Sistema operativo e compilatore ?
elimini quello temporaneoPer eliminare un file puoi usare remove() (stdio.h)
faccia partire quello salvatoChe intendi per "faccia partire" ???? Forse come se tu facessi doppio click sul file??
SISTEMA OPERATIVO: WINXP MEDIA CENTER
FILE *prova;
....
remove(prova);
lo uso così?
---
si come con il doppio click, lo deve eseguire - far partire
No, gli devi passare una stringa che identifica il percorso ed il nome del file:
remove("C:\\pippo\\pluto.ext");
Dopo l'esecuzione vuoi che il tuo programma termini subito ? Oppure vuoi che resti aperto e continui a funzionare mentre il programma lanciato viene eseguito ?
Che compilatore usi ?
uso microsoft visual c++ 6 pro
cmq se puoi mi posti entrambi i modi? sia lasciandolo aperto che non, grazie
cmq il file temporaneo viene creato nella stessa cartella dove si trova il programma, per eliminarlo faccio
remove("\\prova.txt");
remove("\\prova.txt");
Allroa fai così: remove("prova.txt");
cmq se puoi mi posti entrambi i modi? sia lasciandolo aperto che non, grazie
Il fatto è che ci sono due famiglie diverse di funzioni...la exec, che termina il programma corrente lanciandone un altro e la spawn (che non è standard) e che permette o di attendere la fine dell'esecuzione del programma lanciato e poi riprendere o di continuare la normale esecuzione del tuo programma mentre l'altro è in esecuzione...
cmq se puoi mi posti entrambi i modi? sia lasciandolo aperto che nonVedi le funzioni Win32 ShellExecute/ShellExecuteEx.
Se non vuoi attendere usi semplicemente ShellExecute. Se vuoi attendere la terminazione del programma che aprirà il file usi ShellExecuteEx. È un po' più complicata per via della struttura ma così ti permette di avere il hProcess del processo. Da usare poi con WaitForSingleObject per attendere la terminazione del processo.
cmq il file temporaneo viene creato nella stessa cartella dove si trova il programma, per eliminarlo faccio
remove("\\prova.txt");Dovresti mettere solo il nome e basta (niente path, nemmeno "\\" cioè \ perché sarebbe assoluto rispetto al drive).
Ma nota, senza alcun path, per essere precisi, sarebbe relativo alla directory corrente (che non è detto sia quella in cui è presente l'eseguibile).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.