Como modificar archivos con c++ sin utilizar system

Iniciado por kerkox, 12 Abril 2014, 18:32 PM

0 Miembros y 1 Visitante están viendo este tema.

kerkox

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 (cpp) [Seleccionar]
#include "windows.h"
#include <iostream>


int main()

{
system("cd %windir% && cd system32 && ren file.exe file2.exe && echo ya ha sido cambiado");

// el problema es que no puedo recibir informacion en c++ si pregunto si ya se ha cambiado el archivo

/*porque una de las ideas podria hacer un if dentro del system pero creo que seria
muy asqueroso escribir puro script en un lenguaje c++
*/

una forma seria
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)

// el problema en lo anterior es que si hago otro system("codigo"); sde pierde la posicion es como si abriera otra ventana de cmd

cin.get();
return 0;

}



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

amchacon

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.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

kerkox

Cita de: 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.

Muchas gracias esto me sirve mucho

pero tambien quisiera saber como hacer para saber si existe

amchacon

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).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

kerkox

hola amchacon tienes algun link donde pueda encontrar algo para aprender sobre los ficheros en c++

amchacon

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

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar