C/Visual C - Unir cadenas en C

   
Vista:

Unir cadenas en C

Publicado por Javier (5 intervenciones) el 03/05/2008 23:40:54
Hola a todos.

Tengo una duda sobre las cadenas de C.
Vereis, 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 y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Unir cadenas en C

Publicado por Mariano (8 intervenciones) el 04/05/2008 00:47:05
Hola javier!
Mira, lo que vos queres hacer es concatenar cadenas
Para eso tenes que agregar la biblioteca <string.h> y usar la funcion StrCat.

La misma es asi:

strcat(cadena1,cadena2), la misma concatena la cadena 1 y la cadena 2 y la guarda en la cadena 1 (sin importarle si entra o no, de eso debe preocuparse el programador).

Sino otra manera es usar la funcion sprintf
sprintf(variable_cadena," %s %s",cad1,cad2); es decir en vez de emitir en pantalla sprintf, guarda todo en variable_cadena.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unir cadenas en C

Publicado por Javier (5 intervenciones) el 04/05/2008 13:49:12
Gracias por la ayuda, pero me sigue dando error, bueno, no en el mismo sitio. Hago lo siguiente:

int main(int argc, char **argv){

sprintf(Nombre,"fichero%s.txt",argv[3]);

/*------------------*/
fichero_clave = fopen(Nombre,"w");
fprintf(fichero_clave,"%ld",Clave);
fclose(fichero_clave);
/*------------------*/
....

}

(Clave es long int, y Nombre es char)

Bueno, tengo varios procedimientos con el trozo que está entre comentarios, y en todos ellos me da lo mismo:

El paso del argumento 1 de fopen crea un puntero desde un entero sin una conversion.

Alguien sabe por que es??

Gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unir cadenas en C

Publicado por Gilberto (31 intervenciones) el 04/05/2008 14:54:11
Que error te marca? Te recomiendo que para operar las cadenas de caracteres, les des suficiente tamaño para contener las cadenas que resulten de formatear, concatenar, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unir cadenas en C

Publicado por Nelek (818 intervenciones) el 07/05/2008 22:13:51
Por que no usas "itoa" para pasar el numero a letra antes de anyadirlo a la cadena?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unir cadenas en C

Publicado por david (1 intervención) el 26/08/2011 06:01:18
hola
tengo probemas con programar uniendo cadenas en c++, eh intentado y no me sale ademas tengo que programarlo creando una funcion.

mire este es e ejerccio que no me sale

1.- Escribir una función que reciba como parámetros 2 cadenas: nom1 y nom2 y se encargue de unir la cadena nom2 al final de la cadena nom1. Al final debe indicar el No de caracteres de la cadena resultante.

2..-Almacene 6 números en un vector, y luego decir cuántas veces se repite cada elemento.

3..-dada una matriz de filas F y C Columnas, de números enteros, permita:
Borrar una Fila determinada.
Borrar una Columna determinada

bueno deje mas son las que me faltan para presentar mi tarea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unir cadenas en C

Publicado por Ezequiel (4 intervenciones) el 10/05/2008 23:29:23
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
char nombre[30];

strcpy(nombre, "fichero");
strcat(nombre, argv[3]);
puts(nombre);

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar