Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Ruta en CodeBlocks para comando System

Estas en el tema de Ruta en CodeBlocks para comando System en el foro de C/C++ en Foros del Web. Hola, soy muy nuevo, a raiz de una consulta anterior he descubierto e estoy investigando las posibilidades de la instrucción system. Hay algo en CodeBlocks ...
  #1 (permalink)  
Antiguo 26/02/2015, 09:10
 
Fecha de Ingreso: noviembre-2014
Mensajes: 11
Antigüedad: 9 años, 4 meses
Puntos: 0
Ruta en CodeBlocks para comando System

Hola, soy muy nuevo, a raiz de una consulta anterior he descubierto e estoy investigando las posibilidades de la instrucción system.

Hay algo en CodeBlocks que no tengo bien configurado o no como me gustaría.

El siguiente código funciona perfectamente

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     cout << "Hello world!" << endl;
  9.     //Esto funciona bien y deja el fichero en la ruta del proyecto:
  10.     //C:\Proyectos Codebloks\prueba2\prueba2
  11.     system("del control.ini");
  12.     system("echo "prueba" > control.ini");
  13.     c("PAUSE");
  14.     return 0;
  15. }

Pero si lo pongo así no:

Código C++:
Ver original
  1. system("del C:\pruebas\control.ini");
  2.     system("echo "prueba" > C:\pruebas\control2.ini");

La salida es esta:

Hello world!
Could Not Find C:\Proyectos Codebloks\prueba2\prueba2\pruebascontrol.ini
Press any key to continue . . .

Realmente quiero llegar a que funcione esto:
system("if exist C:\pruebas\control.ini del C:\pruebas\control.ini");

Pero pasito a pasito....

Gracias

Última edición por razpeitia; 26/02/2015 a las 10:20 Razón: Sobra texto...
  #2 (permalink)  
Antiguo 26/02/2015, 10:20
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Ruta en CodeBlocks para comando System

pon 2 barras invertidas. C:\\pruebas\\control2.ini
  #3 (permalink)  
Antiguo 26/02/2015, 10:45
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ruta en CodeBlocks para comando System

Me sorprende que las comillas no sean problema.
  #4 (permalink)  
Antiguo 26/02/2015, 15:49
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Ruta en CodeBlocks para comando System

Cita:
Iniciado por razpeitia Ver Mensaje
Me sorprende que las comillas no sean problema.
También, también... Llevas razon! Cuando el texto va encerrado entra comillas dobles tienes que poner barra invertida delante de de ellas como dijo razpeitia.

Cosas como "echo "prueba" > control.ini"deben quedar a lo mejor algo así : "echo \"prueba\" > control.ini"
  #5 (permalink)  
Antiguo 26/02/2015, 18:05
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Ruta en CodeBlocks para comando System

De todas formas, deberías hacer eso con las librerías de C++, no con el comando system.
  #6 (permalink)  
Antiguo 26/02/2015, 19:59
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Ruta en CodeBlocks para comando System

¿Cual crees que es mejor para eso?
  #7 (permalink)  
Antiguo 26/02/2015, 23:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ruta en CodeBlocks para comando System

Sinceramente si solo va a ejecutar comandos y hacer uno que otro procesamiento que use archivos .bat
  #8 (permalink)  
Antiguo 27/02/2015, 01:27
 
Fecha de Ingreso: noviembre-2014
Mensajes: 11
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Ruta en CodeBlocks para comando System

Hola, gracias a todos.

Si no utilizo librerías de C++ para esto es porque todavía no tengo conocimientos para ello, estoy con el Hello Wold todavia y descubriendo cositas poco a poco, como las posibilidades de system, que por cierto esto con las dobles barras invertidas si funciona:

system("if exist C:\\pruebas\\control.ini del C:\\pruebas\\control.ini");

Me gustaría antes de dar el tema por solucionado que me dijerais que librería de C++ debería usar para hacer lo mismo y así ir investigando un poco por mi cuenta...
  #9 (permalink)  
Antiguo 27/02/2015, 12:39
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ruta en CodeBlocks para comando System

Hola. Si estás dando los primeros pasos en C++, creo que no te conviene empezar en la dirección equivocada. Lee estos comentarios:
http://www.cplusplus.com/forum/articles/11153/
y, también, por supuesto, no dejes de leer:
http://www.gidnetwork.com/b-61.html

Y hay distintas maneras de saber si un archivo existe (o si está accesible para el usuario). Una forma simple puede ser:
Código C++:
Ver original
  1. bool fileExists(const char* filename)
  2. {
  3.     return std::ifstream(filename).good();
  4. }
Para eliminar un archivo, puedes usar la función remove()
http://en.cppreference.com/w/cpp/io/c/remove

.

Etiquetas: comando, funcion, int, ruta, system
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.