Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Eliminar Fichero txt desde c++

Estas en el tema de Eliminar Fichero txt desde c++ en el foro de C/C++ en Foros del Web. Hola a todos, Quisiera saber como puedo eliminar un fichero txt de la unidad C utilizando alguna sentencia de c++.El asunto es que programado un ...
  #1 (permalink)  
Antiguo 15/11/2007, 03:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Eliminar Fichero txt desde c++

Hola a todos,

Quisiera saber como puedo eliminar un fichero txt de la unidad C utilizando alguna sentencia de c++.El asunto es que programado un boton para que al pulsarlo me elimine el fichero txt y no me funciona.Lo he intentado como documentos word y excel y en estos casos si.

Espero que me puedan ayudar

Saludos
  #2 (permalink)  
Antiguo 15/11/2007, 07:02
Avatar de Escalona  
Fecha de Ingreso: mayo-2005
Mensajes: 70
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Eliminar Fichero txt desde c++

¿Puedes eliminar los fichero .doc y .xls y no los .txt? Que extraño.

Prueba a hacerlo de la manera mas sencilla que existe, con la funcion system():
Código:
system("del c:\nombrefichero.txt");
Espero te sirva de ayuda.
  #3 (permalink)  
Antiguo 15/11/2007, 07:15
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Eliminar Fichero txt desde c++

¿Que te parece colocar la manera en la que lo estás haciendo para que podamos orientarte? tal vez el problema sea la forma en la que generas el nombre del archivo.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #4 (permalink)  
Antiguo 15/11/2007, 08:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Eliminar Fichero txt desde c++

Cita:
Iniciado por Escalona Ver Mensaje
¿Puedes eliminar los fichero .doc y .xls y no los .txt? Que extraño.

Prueba a hacerlo de la manera mas sencilla que existe, con la funcion system():
Código:
system("del c:\nombrefichero.txt");
Espero te sirva de ayuda.
Primero gracias por responder.He probado con lo que me has sugerido y no me elimina el fichero.He probado con la funcion DeleFile() pero tanpoco me funciona.En cambio para borrar archivo .doc y .xls con esta funcion me los elimina sin problema.

Os pongo el trozo de codigo utilizado aber si os ayuda.Gracias de antemano

Código:

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HINSTANCE hInstance;
    
    switch (msg)                  
    {
        case WM_CREATE:
           hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
           return 0;
           break;
        case WM_COMMAND:
           if(LOWORD(wParam) == CM_DIALOGO)
              DialogBox(hInstance, "Proba", hwnd, DlgProc); 
           break;
        case WM_DESTROY:
           PostQuitMessage(0);    
           break;
        default:                  
           return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
    UINT indice;
	FILE *fitx;
	char izena[100]="C://fitxategi.txt";
	

    
    switch (msg)                 
    {
        case WM_INITDIALOG:
           SetFocus(GetDlgItem(hDlg, ID_BOTON));
           return FALSE;
        case WM_COMMAND:
           switch(LOWORD(wParam)) {
              case ID_BOTON:
                 MessageBox(hDlg, "Botoiari eman zaio'", "Mezua", 
                    MB_ICONINFORMATION|MB_OK);
                 break;
              case IDOK:
	 fitx=fopen(izena,"r");
	 if (fitx==NULL)
	 {
		 printf("Ezin da fitxategia ireki ez dalako existitzen ");
	 }
	else
	{
		system("del c:\\fitxategi.txt");
	
	}
	if (fclose(fitx)!=0)
	{
		printf("Akatsen bat dago fitxategia ixterakoan");
	}
	else
	{
		printf("Ondo itxi da gure fitxategia");
	}
	printf("Sakatu enter programatik irten ahal izateko!");

				  MessageBox(hDlg, " Onartu da gure eskaera","Mezua",MB_ICONINFORMATION|MB_OK);
                 EndDialog(hDlg, TRUE);
                 break;
              case IDCANCEL:
                 EndDialog(hDlg, FALSE);
                 break;
           }
           return TRUE;
    }
    return FALSE;
}
  #5 (permalink)  
Antiguo 15/11/2007, 08:57
Avatar de Escalona  
Fecha de Ingreso: mayo-2005
Mensajes: 70
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Eliminar Fichero txt desde c++

Puede que el problema esté en que debes cerrar el fichero antes de eliminarlo

Código:
fitx=fopen(izena,"r");
	 if (fitx==NULL)
	 {
		 printf("Ezin da fitxategia ireki ez dalako existitzen ");
	 }
	else
	{
                fclose(fitx);
		system("del c:\\fitxategi.txt");
	
	}
Prueba eso.

Saludos .
  #6 (permalink)  
Antiguo 15/11/2007, 09:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Eliminar Fichero txt desde c++

Cita:
Iniciado por Escalona Ver Mensaje
Puede que el problema esté en que debes cerrar el fichero antes de eliminarlo

Código:
fitx=fopen(izena,"r");
	 if (fitx==NULL)
	 {
		 printf("Ezin da fitxategia ireki ez dalako existitzen ");
	 }
	else
	{
                fclose(fitx);
		system("del c:\\fitxategi.txt");
	
	}
Prueba eso.

Saludos .
Muchisimas gracias.Tenias razon habia que cerrar primero el fichero para poder eliminarlo.

Muchisimas gracias de nuevo
  #7 (permalink)  
Antiguo 15/11/2007, 09:52
Avatar de Escalona  
Fecha de Ingreso: mayo-2005
Mensajes: 70
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Eliminar Fichero txt desde c++

De nada, saludos amigo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:14.