problema con cadenas

juanito1984
04 de Enero del 2006
hola, soy un novato en c. Estoy acostumbrado a programar en java y el uso de las cadenas se me hace complicadillo.
El problema es q tengo un char *yytext. Y lo que quiero es poder almacenar en una variable el VALOR de yytext en ese momento. No quiero almacenar una referencia, quiero el valor que tiene en ese momento. ¿Como seria la instruccion si quisiera almacenarlo en una variable (por ejemplo de nombre \'texto\')?

felix
04 de Enero del 2006
OK

mira las cadenas en C en realidad son punteros

por tanto si tu haces una asigmacion con el operador "="
en realidad asignas la direccion osea haces una asignacion de referencia.

para copiar por valor se usan funciones
globales ya que a diferencia de Java las cadenas de Cno continen comportamiento propio.

la funcion para copiar una cadena en otra es.
strcpy(cad_destino, cad_origen);

para concatenar o sumar una cadena a otra:
strcat(cad_destino, cad_origen);

y para saber su longitud es:

val = strlen(cadena);

deveras agregar el archivo de cabezera <string.h>

espero te funcione.

Saludos