[C con Clase] leer cifras de un String

Moises Brenes moises.brenes en gmail.com
Mar Oct 6 16:41:55 CEST 2009


2009/10/5 Abel <aydabella en yahoo.com.ar>:
> Hola,
> tengo el siguiente problema; resulta que en un String tengo almacenado lo siguiente:
>
> char str[5000]="3245,4567,8945,67345,278936,213,......,2345";
>
> lo que quiero hacer es sacar cada una de esas cifras y convertirlas a "int", hice lo siguiente:
>
> char *p, temp[10];
> int y[1001],i,j=0;
> for(i=0;i<=1000;i++)
> {
> p=str+n;
> while>(*(p+j)!=',')j++;
> strncpy(temp,p,j+1);
> n+=j+1;
> y[i]=atoi(temp);
> j=0;
> }
>
> mi problema conciste en que cuando "p" apunta al final del String (ya no encuentra mas "comas", este se desborda y la máquina se cuelga.
> Alguien tiene alguna otra idea de como podría resolver este problema?
> Gracias por toda información.
> Saludos.

En lugar de un `for` usaria un `while` junto con la funcion `strtok`
para desmenuzar la cadena:
http://c.conclase.net/librerias/funcion.php?fun=strtok


-- 
シャカ
mbrenes.blogspot.com | sibu.homelinux.org
Geloof is een wens om niet te weten wat echt is




Más información sobre la lista de distribución Cconclase