Juanxo escribió:Gracias Geo, he hecho lo que me has comentado( al final los he hecho de 32) y ahora si han funcionado.
Lo único que esta manera me parece un poco rebuscada. Es la única o se puede hacer de una manera mejor?
¿Te refieres al tamaño con que declaras la variable? Claro, aprovecha que estás en C++ y usa la clase
string 
. Otra forma, es hacer un estimado del número de dígitos que necesitarás de acuerdo al número de bytes de la variable. Un ejemplo muy malo:
- Código: Seleccionar todo
char msg[ sizeof( int ) * 3 + 1 ];
Con sizeof se obtiene el número de bytes del tipo int, se multiplica por 3 considerando que por cada byte haremos uso de tres dígitos, se suma 1 para garantizar que tenemos espacio para el caracter de fin de cadena, es una aproximación que puede servir:
1 byte: 255 => 3 dígitos (se reservan 4 caracteres)
2 bytes: 65536 => 5 dígitos (7)
3 bytes: 16,777,216 => 8 dígitos (10)
4 bytes: 4,294,967,296 => 10 dígitos (13)
Ahora, cuidado con el caso de 1 byte para cuando sean variables con signo, podría usar un dígito más y no alcanzar. Debe haber una forma más efectiva ("elegante") de calcular cuántos dígitos se tienen para X bytes, pero ahorita no la recuerdo

.
Juanxo escribió:Por cierto, alguien que este con linux y me diga como hacer el profile de un proyecto SDL en el gcc. Me da error ya dice que no encuentra las funciones de SDL, pero yo lo he probado con el codeblocks(ahi es donde programo) y lo ejecuta sin ningún problema.
¿Profile? ¿a qué te refieres?