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

Definiendo tu propio código en C++

Estas en el tema de Definiendo tu propio código en C++ en el foro de C/C++ en Foros del Web. Buenas. Pues, esto viene relacionado con una pregunta que he hecho relativamente hace poco. Pongamos este caso. Yo tengo el siguiente código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 14/12/2011, 11:53
 
Fecha de Ingreso: mayo-2011
Mensajes: 65
Antigüedad: 13 años, 6 meses
Puntos: 3
Definiendo tu propio código en C++

Buenas. Pues, esto viene relacionado con una pregunta que he hecho relativamente hace poco.

Pongamos este caso. Yo tengo el siguiente código:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     system("copy C:\\Users\\Alex\\Desktop\\index.html C:\\Users\\Alex");
  10.     return 0;
  11. }

El cual sin problemas me copia el archivo index.html del escritorio a la carpeta 'Alex'. Ese código es relativamente largo y además pueden surgir complicaciones en algún caso.. así que me gustaría definirlo de otro modo. Me gustaría que, por ejemplo, poniendo:

copy.arch("C:\\Users\\Alex\\Desktop\\index.html, C:\\Users\\Alex");

haga la misma función. ¿Es fácil declarar eso?


Un saludo!
  #2 (permalink)  
Antiguo 15/12/2011, 04:22
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Respuesta: Definiendo tu propio código en C++

Buenas,
Si no me equivoco esto debería funcionar.
Hacer una funcion (no utilices el . copy.arch sino copy_arch porque es para acceder a métodos de una clase).
Puedes utilizar cadenas (string), las concatenas con + y hacer la misma llamada.
Un saludo.


#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>

using namespace std;

void copy_arch(string archivo_inicila, string archivo_copiar)
{
string llamada;
llamada = "copy " + archivo_inicila + " " + archivo_copiar;
system(llamada);
}


llamada:
copy_arch("C:\\Users\\Alex\\Desktop\\index.html", "C:\\Users\\Alex");
  #3 (permalink)  
Antiguo 15/12/2011, 11:57
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Definiendo tu propio código en C++

El problema esta que system no acepta un elemento tipo string. System esta esperando un char *

Al string resultantes tienes que usar el metodo c_str() que devuelve un puntero a char de la cadena.

system(llamada.c_str());

Etiquetas: propio
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 13:55.