Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/09/2006, 03:42
Nivel7
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 9 meses
Puntos: 2
jaja, si en realidad el codigo es totalmente incorrecto, toma en cuenta que solo lo he escrito aqui en el foro, con forme se me ocurre,
es solo la idea, me he pasado de bueno y lo corregi en funcionamiento.

te lo dejo con un pequeño ejemplo:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* getstr();

int main()
{
	char* nombre;
	nombre = getstr();
	printf("La cadena: %s, tienen una longitud de: %i\n", nombre, strlen(nombre));
	free(nombre);  //no olvides usar free(), para cada cadena que lees con getstr().
	return 0;
}

char* getstr()
{
    int index = 0;
	char* cad = (char*)malloc(sizeof(char));
	while(true)
	{
		cad[index] = getchar();
		if(cad[index] == '\n'){cad[index] = '\0';return cad;}
		index++;
		cad = (char*)realloc(cad, sizeof(char)*(index +1));
	}
}
espero que esto te facilite el manejo optimizado de cadenas.

Saludos.