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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!  (Leído 1,250 veces)
kerkox

Desconectado Desconectado

Mensajes: 15



Ver Perfil
modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!
« en: 5 Marzo 2014, 06:01 am »

Hola que tal amigos, lo que sucede es que estoy haciendo un programa que modifica un archivo pero para poder modificarlo primero verifico que exista con el nombre que se va a modificar para no repetir
ejemplo:
*******************************************************
archivo original:                                    fichero.exe

archivo modificado o renombrado:         fichero2.exe

si existe   fichero2.exe   entonces Mostrar mensaje no se puede modificar ya que esta modificado

SINO entonces modificar o renombre por fichero2.exe
********************************************************

y luego hay otra opcion
que dice si desea reestablecerlo
*******************************************************
PARA RESTABLECER CON PREVIA MODIFICAION
archivo original:                                    fichero2.exe

archivo modificado o renombrado:        fichero.exe

si existe   fichero2.exe   entonces modificar o renombre por fichero.exe

SINO entonces  Mostrar mensaje no se puede modificar ya que NO SE HA MODIFICADO
******************************************************

EL PROBLEMA: cuando se realiza una de las opciones primero funciona, pero cuando regresa al menu para selecionar otra opcion no funciona porque muestra el mensaje de error de cada funcion

pero cuando cierro el programa y vuelvo a abrirlo funciona perfectamente la primera vez de ahi en adelante no funciona para nada

una de las funciones que utilizo para verificar si existe es la siguiente:

Código:
#include <fstream>
#include <iostream>

 bool file_exists(const char * f){
    ifstream file;
    file.open(f);
    if(file.fail())
        return false;
    file.close();
    return true;
}
int main()
{
bool j;

bool j= file_exist("c:\\fichero2.exe");

if (j)
{
cout << "No se puede renombrar ya que esta renombreado" << endl;
}
else {
// se ejecuta los comandos de renombre
}

}

##############
Por ahora una solucion burda que he hecho es llamar a un archivo externo en bat para que me cierre el program y lo vuelva a abrir para la solucion pero si alguien me puede dar alguna idea se lo agradezco mucho

P.D si necesitan mas datos solo comenten


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.394



Ver Perfil
Re: modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!
« Respuesta #1 en: 5 Marzo 2014, 06:17 am »

dices "cuando regresa al menú" pero no veo ningún retorno al menú ni ciclos...
solo veo que lo abres y debe correr linealmente, terminar y cerrarse

puedes usar las etiquetas GeSHi para que el codigo sea más legible
Código
  1. #include <fstream>
  2. #include <iostream>
  3.  
  4. bool file_exists(const char * f){
  5.    ifstream file;
  6.    file.open(f);
  7.    if(file.fail())
  8.        return false;
  9.    file.close();
  10.    return true;
  11. }
  12. int main()
  13. {
  14. bool j;
  15.  
  16. bool j= file_exist("c:\\fichero2.exe");
  17.  
  18. if (j)
  19. {
  20. cout << "No se puede renombrar ya que esta renombreado" << endl;
  21. }
  22. else {
  23. // se ejecuta los comandos de renombre
  24. }
  25.  
  26. }


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!
« Respuesta #2 en: 5 Marzo 2014, 08:49 am »

Código
  1. #include <fstream>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5. bool file_exists(const char * f);
  6.  
  7. int main(){
  8.  
  9. if (file_exists("C:\\fichero2.exe")){
  10. cout << "El archivo existe" << endl;
  11. } else {
  12. cout << "El archivo NO existe" << endl;
  13. }
  14.  
  15. return 0;
  16. }
  17.  
  18. bool file_exists(const char * f){
  19.   fstream file(f);
  20.   return file.good();
  21. }

Aquí tienes tu código funcionando, tienes muchos fallos, revísalos

Editado: Añadida función más sencilla de Amchacon
« Última modificación: 6 Marzo 2014, 08:14 am por BlackM4ster » En línea

- Pásate por mi web -
https://codeisc.com
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: modificacion de archivo y verificacion de existencia no cierra??? ayuda!!!
« Respuesta #3 en: 5 Marzo 2014, 13:35 pm »

Código
  1. bool file_exists(const char * f){
  2.   fstream file;
  3.   file.open(f);
  4.   if(file.fail())
  5.       return false;
  6.   file.close();
  7.   return true;
  8. }

Esta función se puede resumir a:

Código
  1. bool file_exists(const char * f){
  2.   fstream file(f);
  3.   return file;
  4. }

O si te resulta más claro:

Código
  1. bool file_exists(const char * f){
  2.   fstream file(f);
  3.   return file.good();
  4. }
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