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

Memoria dinamica en scanf

Estas en el tema de Memoria dinamica en scanf en el foro de C/C++ en Foros del Web. hola como podria amnejar la memoria dinamica cuando el usario tecle un cadena digamos normalmente tenemos @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original char cadena [ ...
  #1 (permalink)  
Antiguo 12/11/2009, 13:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 106
Antigüedad: 15 años
Puntos: 1
Pregunta Memoria dinamica en scanf

hola como podria amnejar la memoria dinamica cuando el usario tecle un cadena

digamos normalmente tenemos

Código C:
Ver original
  1. char cadena[30];
  2.  scanf("%s",&cadena);

yo he manejado memoria dinamica de la forma
Código C:
Ver original
  1. char *dato;
  2. dato=(char*)malloc(strlen(d)*sizeof(char));//donde d es un (char * d) que vien como parametro en la funcion
  3.    strcpy(dato, d);

pero quisiera ver si hay una forma de tener
Código C:
Ver original
  1. char *cadena;
  2. scanf("%s",[B]algo para medir la longitud de la cadena[/B])


gracias de antemano
  #2 (permalink)  
Antiguo 12/11/2009, 14:07
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: Memoria dinamica en scanf

No. Debes usar una cadena auxiliar para leer lo que te entran, tal y como lo haces.

Nota: debes pedir memoria para sizeof (char)*(strlen (d) + 1) para que al hacer el strcpy te coloque el '\0' en la ultima casilla.
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 17:51.