Programación General => C/C++ => Mensaje iniciado por: Javichuvm en Sábado 3 de Mayo de 2008, 23:47
Título: Unir Cadenas En C
Publicado por: Javichuvm en Sábado 3 de Mayo de 2008, 23:47
Hola a todos.
Vereis, tengo una duda con un ejercicio que estoy haciendo, y es que al ejecutar el programa, le paso distintos parametros (3 para ser exactos). Entonces, por ejemplo, si ejecuto en la terminal de linux ./monitor 1 200 4, lo único que quiero hacer es que una variable definida anteriormente así:
char Nombre;
me guarde un nombre que yo le diga y el ultimo parametro, seguidos.
Es decir, lo que yo he puesto es lo siguiente:
Nombre = "fichero" + argv[3];
pero eso no me funciona y me da error.
Lo que quiero conseguir es que nombre tenga por valor "fichero4".
Alguien me puede ayudar??
Gracias a todos y un saludo.
Título: Re: Unir Cadenas En C
Publicado por: Eternal Idol en Sábado 3 de Mayo de 2008, 23:54
Título: Re: Unir Cadenas En C
Publicado por: Riskz en Miércoles 7 de Mayo de 2008, 00:21
No puedes hacer esto :
Código: Text
Nombre = "fichero" + argv[3];
Eso en C no existe hasta donde yo se (soy principiante igual). Yo en tu lugar usaria
Código: Text
strcat(Nombre, itoa(argv[3])); //como bien dijo Eternal Idol
o
Código: Text
sprintf(Nombre,"%s%i", nombre, argv[3]);
Eso teniendo en cuenta que argv[3] es de tipo int, sino olvidate del atoi() y no uses la segunda opcion que te di. Para usar atoi creo que necesitas incluir <stdlib.h> y para strcat y sprintf <string.h>
Saludos
Título: Re: Unir Cadenas En C
Publicado por: Eternal Idol en Miércoles 7 de Mayo de 2008, 08:06
Cita de: "Riskz"
No puedes hacer esto :
Código: Text
Nombre = "fichero" + argv[3];
Y si, en el primer mensaje el mismo dijo que le daba error ..
Cita de: "Riskz"
Yo en tu lugar usaria
Código: Text
strcat(Nombre, itoa(argv[3])); //como bien dijo Eternal Idol
Código: Text
sprintf(Nombre,"%s%i", nombre, argv[3]);
Los parametros en argv son TODOS cadenas por lo tanto itoa esta de mas y %i equivocado (deberia ser %s).
Siempre es bueno probar nuestro codigo antes de publicarlo y responder en hilos que no hayan tenido resolucion.
Título: Re: Unir Cadenas En C
Publicado por: Riskz en Jueves 8 de Mayo de 2008, 01:12
Si por eso aclare que si arg[3] no era int que se olvidase del atoi y de la segunda forma Es que todavia no hice programas usando los argumentos de main y por eso desconozco un poco el tipo y esas cosas.
Perdon por responder en hilos en los que ya contestaron pasa que en los que no contestan son justo los mas complicados en los que no se nada, y solo en estos puedo intentar ayudar. Ademas Eternal siempre respondes primero no vale jajajaja(joda). Igual mejor asi aprendo, ahora ya se que los argumentos de main son strings =). Y si la verdad tendria que empezar a probar el codigo antes de postearlo, pero bueno.