[Problema]
#1

Hola a todos, tengo un pequeсo problema con una funciуn, en si no da error al compilar pero no hace lo que quiero el cуdigo es el siguiente:
Код:
new rgba[4][2], i, new_l, i_i=-1, s[8], bool: c;

new colorHex[30];
format(colorHex, 30, "%s", Sacar0x(colorHexa));// a esto no le prestйis atenciуn

while(!c)
{
    if(colorHex[i] != '\0')
    {
	    i_i++;
	    
	    if(i_i == 2)
	    {
	        new_l ++;
	        i_i = 0;
	    }
	    
	    rgba[new_l][i_i] = colorHex[i];

	    printf("rgba[new_l = %i][i_i = %i] = colorHex[i = %i] valor actual de rgba: %s y el valor que le pasa ColorHex: %s", new_l, i_i, i, rgba[new_l][i_i], colorHex[i]);
	    printf("valor de rgba acutal: rgba[0]: %s, rgba[1]: %s, rgba[2]: %s, rgba[3]: %s", rgba[0], rgba[1], rgba[2], rgba[3]);
		
	    i++;
	}
	else c = true;
}
Ok, les explico, lo que quiero hacer es coger de una variable tipo string que contenga un valor Hexadecimal 0xFFFFFFFF (<- Ejemplo) (el Sacar0x sacaba el 0x y solo dejaba los nъmeros Hexadecimales) y dividirlos en 4 partes, RGBA (RED, GREEN, BLUE, ALPHA), vale. todo bien.. pero al parecer cuando ya pongo en funciуn todo esto hace lo siguiente:
(si querйis entenderlo mejor podйis usar el cуdigo) Que cuando rgba[0] pasa de los 2 valores y pasa al otro slot (rgba[1]) el rgba[0] sigue almacenando el texto (y no se exactamente porque pasa, como dije podrйis entender mejor ubicando el cуdigo en vuestras pc y viendo la consola).

Espero vuestra ayuda, gracias de antemano.
Reply
#2

No estoy muy seguro de tu objetivo, pero podrнas usar strdel para eliminar los dos primeros caracteres y strmid para extraer los caracteres que quieres separar.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)