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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Como utilizar fstream para archivos con rutas dinamicas en: 15 Abril 2014, 17:17 pm
Hola a todos, tengo un problema con una funcion de fstream pues el problema es que para poder abrir un fichero debo de tener la ruta completa, pero yo quiero hacerla dinamica ya que se que se puede utilizar el %windir% para llegar a la letra del disco principal y la carpeta windows
Ejemplo.

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <fstream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. bool file_exists(const char * f)
  9. {
  10.    ifstream file;
  11.    file.open(f);
  12.    if(file.fail())
  13.        return false;
  14.    file.close();
  15.    return true;
  16. }
  17.  
  18. int main()
  19. {
  20.  
  21. cout << "Vamos a ver si es fichero existe  " <<endl;
  22. cout << endl;
  23. cin.get();
  24.  
  25. //con esta no funciona
  26. bool j = file_exists("%windir%\system32\cmd.exe"); // se puede usar file.exe pues para verficar
  27. /*
  28. Peo con esta si funciona
  29. bool j = file_exists("c:\\windows\\system32\\cmd.exe");
  30. */
  31.  
  32.  
  33. if (j)
  34. {
  35.  
  36. cout << "si existe el archivo  "<< endl;
  37. cin.get();
  38.  
  39. }
  40. else
  41. {
  42.    cout << "No existe el archivo" << endl;
  43.    cin.get();
  44. }
  45.  
  46. return 0;
  47.  
  48.  
  49. }

Pues desearia conocer como hacer estas rutas dinamicas ya que las uso mucho para el sistema o si hay alguna otra forma de utlizar la libreria fstream
Cualquier ayuda es bienvenida o si pueden darme algun manual o recomendarme algo para poder descubrirlo por mi mismo.
 
12  Programación / Programación C/C++ / Re: Como modificar archivos con c++ sin utilizar system en: 12 Abril 2014, 19:32 pm
hola amchacon tienes algun link donde pueda encontrar algo para aprender sobre los ficheros en c++
13  Programación / Programación C/C++ / Re: Como modificar archivos con c++ sin utilizar system en: 12 Abril 2014, 19:02 pm
Lo que buscas es esto:
http://www.cplusplus.com/reference/cstdio/rename/?kw=rename

Devuelve cero si se hizo correctamente y un número distinto de cero si hubo algún problema.

Muchas gracias esto me sirve mucho

pero tambien quisiera saber como hacer para saber si existe
14  Programación / Programación C/C++ / Como modificar archivos con c++ sin utilizar system en: 12 Abril 2014, 18:32 pm
Hola a todos, me han surgido varias dudas desde que estoy aprendiendo sobre este lenguaje, una de estas dudas es que deseo hacer cosas que puedo hacer con batch en c++ porque se que en este lenguaje se puede hacer algo mucho mejor ya que batch es solo un script.

Bueno en general el problerma es deseo cambiar de nombre un archivo del system32 pero deseo que la ruta para acceder desde c++ sea dinamica y no con una letra definida como "c:\windows\system32\file.exe" sino  %windir/system32/file.exe
pero bueno cuando realizo los cambios asi:

Código
  1. #include "windows.h"
  2. #include <iostream>
  3.  
  4.  
  5. int main()
  6.  
  7. {
  8. system("cd %windir% && cd system32 && ren file.exe file2.exe && echo ya ha sido cambiado");
  9.  
  10. // el problema es que no puedo recibir informacion en c++ si pregunto si ya se ha cambiado el archivo
  11.  
  12. /*porque una de las ideas podria hacer un if dentro del system pero creo que seria
  13. muy asqueroso escribir puro script en un lenguaje c++
  14. */
  15.  
  16. una forma seria
  17. system("cd %windir% && cd system32 && if exist file2.exe (echo ya fue cambiado && set a =1) else (echo no ha sido cambiado &&  ren file.exe file2.exe && set a =2)
  18.  
  19. // el problema en lo anterior es que si hago otro system("codigo"); sde pierde la posicion es como si abriera otra ventana de cmd
  20.  
  21. cin.get();
  22. return 0;
  23.  
  24. }


Cualqueir ayuda es bienvenida es que no conozco algunas funciones que creo deben de existir para el manejo de archivos y demas se que en C hay algo FILE pero pues si alguien me puede dar una referencia para consultar ose algun Link le agradeceria mucho
15  Programación / Programación C/C++ / 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
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines