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

Problema al crear un programa C++

Estas en el tema de Problema al crear un programa C++ en el foro de C/C++ en Foros del Web. Realmente perdon por mi ignorancia pero mi problema es el siguiente: Código: cout<<""<<endl; cout<<("Filename:")<<endl; system("dhl.dll a -m3 -r -pf -o comprimido.dhl "); cout<<""<<endl; cout<<""<<endl; cout<<"COMPRESSED ...
  #1 (permalink)  
Antiguo 20/03/2012, 19:38
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Problema al crear un programa C++

Realmente perdon por mi ignorancia pero mi problema es el siguiente:


Código:
   cout<<""<<endl;
    cout<<("Filename:")<<endl;
    system("dhl.dll a -m3 -r -pf -o comprimido.dhl ");
    cout<<""<<endl;
    cout<<""<<endl;
    cout<<"COMPRESSED SUCCESSFULLY!!!"<<endl;
    system("pause");
    system("cls");
lo que quiero hacer es que al lado de comprimido.dhl aparezca el nombre que escriban.

ejemplo: ccleaner.exe,repito... perdon por mi ignorancia es que recien empiezo con c++ y ya se que tendria que empezar con lo basico es que ya programe todo este programa y solo me falta esta ultima parte y lo termino ...
perdon.
  #2 (permalink)  
Antiguo 21/03/2012, 15:22
Avatar de kurekshikam  
Fecha de Ingreso: marzo-2012
Ubicación: En casa
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Problema al crear un programa C++

Supongo que en si eso solo es una parte de todo el código, no? Sino yo diría que falta ya para empezar los include y el main xDD

Podrías decir que error tienes, es decir, que error arroja en compilador, es que así a primeras... no identifico que pasa (Aunque tambien se puede deber a que tambien soy novato xDD
  #3 (permalink)  
Antiguo 21/03/2012, 17:47
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 6 meses
Puntos: 228
Respuesta: Problema al crear un programa C++

No tiene problemas solo quiere concatener string.
Código C++:
Ver original
  1. string nombre;
  2.     cout<<""<<endl;
  3.     cout<<("Filename:")<<endl;
  4.     cin>>nombre;
  5.     system( ("dhl.dll a -m3 -r -pf -o comprimido.dhl " + nombre ).c_str()  );
  6.     cout<<""<<endl;
  7.     cout<<""<<endl;
  8.     cout<<"COMPRESSED SUCCESSFULLY!!!"<<endl;
  9.     system("pause");
  10.     system("cls");

Fijate que use la clase string para obtener la entrada. Despues utilice el + para concatenar dos string. Y por ultimo un metodo de la clase string "c_str()" que devuelve un puntero char de la cadena ... y eso se lo pasamos a la funcion system.

Yo entendi que necesitabas algo asi.

Saludos
  #4 (permalink)  
Antiguo 22/03/2012, 04:27
Avatar de kurekshikam  
Fecha de Ingreso: marzo-2012
Ubicación: En casa
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Problema al crear un programa C++

ahh... vale.. no lo había entendido... lo siento elixor...

codigo tuyo sam90 que veo código que me entran preguntas... en este caso 2 preguntas.

¿Se puede usar el "+" para unir cadenas? En clase estamos dando VB 2010 (lenguaje de programación que le tengo poco aprecio y para mi creo malos hábitos en la programación por ser tan permisivo en algunos temas) usar el "+" sirve para sumar y para unir es el "&". Quizas solo sea que le doy demasiadas vueltas pero me parece extraño ver un "+" para unir cadenas y no para sumar números.

Y la otra, ".c_str()" devulve el puntero donde esta la cadena a escribir, pero escribir la cadena nombre no lo hace ya solo con escribir la variable "nombre".

Debo buscar un manual bueno de c++ por que el libro que uso no me esta ayudando mucho por lo que veo... ains...
  #5 (permalink)  
Antiguo 22/03/2012, 05:19
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 6 meses
Puntos: 228
Respuesta: Problema al crear un programa C++

Nunca use el "&" para unir cadena...si funciona igual usalo...Tene en cuenta que en C++ se puede sobrecargar lo operadores asi que podes empezar a ver cosas raras que al principio no tienen sentido.

La funcion system espera un puntero a char... pero la concatenacion ("mensaje " + nombre) devuelve una clase string. Es por eso que los tipos no son compatibles, asi que uso el metodo c_str para que me de el puntero char a la cadena string.

Esa duda tuya se solucionaria si hubieses probado de sacar el metodo c_str() y verias uqe el compilador te devuelve un error de tipos.

Saludos.
  #6 (permalink)  
Antiguo 26/03/2012, 10:18
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Problema al crear un programa C++

Perdón por la tardanza en responder,gracias a todos realmente me sirvió de ayuda y ya logre hacerlo gracias a ustedes ^^

Etiquetas: c++, strcopy, 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 19:03.