[C con Clase] Sera posible?

Programante programante en gmail.com
Jue Sep 27 23:37:23 CEST 2007


Ronald Romani escribió:
> Hola a todos!
> Mi problema es este :
> tengo una duda :-? , lo que pasa es que tengo una block de notas en el cual tengo direcciones de archivos que deseo eliminarlos.
>
> archivos.txt
> C:\001\audio_06_22_2007_04;12;20_001.wav
> C:\001\audio_06_22_2007_04;12;20_002.wav
> .
> .
> .
>
> quiero hacer un programita que me elimine toda la lista de archivos o en todo caso que me cree un archivo con las siguientes caracteristicas:
>
> archivo02.txt
> del "C:\001\audio_06_22_2007_04;12;20_001.wav"
> del "C:\001\audio_06_22_2007_04;12;20_002.wav"
> .
> .
> .
>
> No se si es posible hacer eso.
>
> Por favor si alguien tiene una solucion podria guiarme.
>
> Muchas gracias de antemano.
> Ronald Roman

Es tan sencillo como leer el archivo línea a línea y llamar a 
DeleteFile() en cada uno de ellos, unlink() si estás en *nix.
No obstante sugiero precaución con todo lo que conlleve eliminar ficheros.
Aquí no tienes la salvaguarda de la papelera de reciclaje. Un programa 
mal hecho que en vez de borrar dos archivos te borra 200 es bastante 
desagradable. :-)


#include <stdio.h>
#include <windows.h>


int main() {
 FILE* Archivo = fopen("archivos.txt", "r"); //Abrimos el archivo para 
lectura
char Linea[MAX_PATH]; //Aquí guardaremos cada línea del archivo

while (fgets(Linea, sizeof(Linea), Archivo)) { //En cada línea
   strtok(Linea, "\n"); //Quitamos el \n del final
   DeleteFile(Linea); //Borramos el archivo
}
fclose(Archivo); //Cerramos el archivo
return 0; //Fin
}




Más información sobre la lista de distribución Cconclase