elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Cómo puedo eliminar algún fichero en C?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo puedo eliminar algún fichero en C?  (Leído 3,349 veces)
TopoJunior

Desconectado Desconectado

Mensajes: 40



Ver Perfil
¿Cómo puedo eliminar algún fichero en C?
« en: 9 Abril 2013, 16:16 pm »

Por ejemplo, yo le doy la ruta de donde está, y quiero que lo elimine. ¿Cómo lo hago?


En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #1 en: 9 Abril 2013, 16:47 pm »

Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4.  
  5. {
  6.  if( remove( "/usr/myfile.txt" ) == -1 )
  7.    perror( "Error deleting file" );
  8.  else
  9.    puts( "File successfully deleted" );
  10.  return 0;
  11. }

Saludos  ;D


En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #2 en: 10 Abril 2013, 00:49 am »

Hola! la funcion remove retorna cero en caso de exito, de lo contrario un valor distinto de cero. Entonces la condicion del if seria distinto de 0

Saludos
En línea

Ahorrate una pregunta, lee el man
Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #3 en: 10 Abril 2013, 15:05 pm »

Hola! la funcion remove retorna cero en caso de exito, de lo contrario un valor distinto de cero. Entonces la condicion del if seria distinto de 0

Saludos

Sí, un numero diferente a 0, concretamente el -1. Es lo mismo
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #4 en: 10 Abril 2013, 16:01 pm »

la funcion remove retorna cero en caso de exito, de lo contrario un valor distinto de cero. Entonces la condicion del if seria distinto de 0

Sí, un numero diferente a 0, concretamente el -1. Es lo mismo
No. No es lo mismo.

Hay que tener cuidado cuando el valor de retorno de una función no esta especificado porque eso puede causar problemas, por ejemplo si el programa se porta a otra plataforma.

Un ejemplo en la misma linea es la función "isdigit" (prototipo en <ctype.h>), su especificación indica que retornara un valor diferente de cero si el carácter es un dígito y cero en caso contrario. A mi me encantaría que retornara 1 o 0 pero en mi caso esta retorna 4 o 0.

Otro ejemplo es EOF, este usualmente es -1 pero, de nuevo, lo mejor es no confiarnos y solo asumir que es "algún valor negativo".

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #5 en: 10 Abril 2013, 16:16 pm »

Sí, un numero diferente a 0, concretamente el -1. Es lo mismo
No. No es lo mismo.

Hay que tener cuidado cuando el valor de retorno de una función no esta especificado porque eso puede causar problemas, por ejemplo si el programa se porta a otra plataforma.

Un ejemplo en la misma linea es la función "isdigit" (prototipo en <ctype.h>), su especificación indica que retornara un valor diferente de cero si el carácter es un dígito y cero en caso contrario. A mi me encantaría que retornara 1 o 0 pero en mi caso esta retorna 4 o 0.

Otro ejemplo es EOF, este usualmente es -1 pero, de nuevo, lo mejor es no confiarnos y solo asumir que es "algún valor negativo".

Un saludo

Bueno, yo solo lo he hecho porque se que este parámetro da -1, ya se que otros no, y cuando ya si eso, generalizo y pongo > 0
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #6 en: 10 Abril 2013, 17:03 pm »

Bueno, yo solo lo he hecho porque se que este parámetro da -1, ya se que otros no, y cuando ya si eso, generalizo y pongo > 0

El operador que estás buscando es != (Distinto de) porque pudiera ser un valor negativo, recuerda que es distinto de cero.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: ¿Cómo puedo eliminar algún fichero en C?
« Respuesta #7 en: 10 Abril 2013, 20:43 pm »

Teniendo el operador ! no es más fácil:

Código
  1. if (!remove( "/usr/myfile.txt" ))
  2.       puts( "File successfully deleted" );
  3.  else
  4.        perror( "Error deleting file" );
  5.  
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines