Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kerkox en 12 Abril 2014, 18:32 pm



Título: Como modificar archivos con c++ sin utilizar system
Publicado por: kerkox 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


Título: Re: Como modificar archivos con c++ sin utilizar system
Publicado por: amchacon en 12 Abril 2014, 18:47 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.


Título: Re: Como modificar archivos con c++ sin utilizar system
Publicado por: kerkox 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


Título: Re: Como modificar archivos con c++ sin utilizar system
Publicado por: amchacon en 12 Abril 2014, 19:29 pm
Abres el archivo y si no puedes abrirlo esque no existe (o no tienes permisos para adceder a el, que es lo mismo).

Pero para eso tienes que saber como funcionan los archivos en C++... Y no es con FILE (eso es de C a secas).


Título: Re: Como modificar archivos con c++ sin utilizar system
Publicado por: kerkox en 12 Abril 2014, 19:32 pm
hola amchacon tienes algun link donde pueda encontrar algo para aprender sobre los ficheros en c++


Título: Re: Como modificar archivos con c++ sin utilizar system
Publicado por: amchacon en 12 Abril 2014, 19:36 pm
http://www.minidosis.org/#/temas/Cpp.Ficheros