elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Variable mayor a char?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Variable mayor a char?  (Leído 3,515 veces)
Talard

Desconectado Desconectado

Mensajes: 4


Ningún problema debería resolverse dos veces.


Ver Perfil
¿Variable mayor a char?
« en: 19 Febrero 2012, 16:51 pm »

Buenas, os explico.

Necesito guardar un número de 1000 cifras en un char, o alguna variable parecida que sea capaz de almacenar más datos, de manera que pueda acceder a todas las "posiciones" del mismo.

Para que veáis a lo que me refiero:

Código
  1. char numero[1000] = "73167176531330624919225119674426574742355349194...";

Me tira el error: "error: initializer-string for array of chars is too long."

(Utilizo Geany en Ubuntu de IDE, y C++ de lenguaje).

El caso es que necesitaría acceder a cada una de las cifras e ir multiplicando de 5 en 5, subiendo el "origen" de la multiplicación uno, y comparando resultados.

Para que me entendáis, por ejemplo, la primera multiplicación sería 7*3*1*6*7, la segunda 3*1*6*7*1, y así...

¿Alguna idea?

Gracias a todos  :D


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿Variable mayor a char?
« Respuesta #1 en: 19 Febrero 2012, 17:01 pm »

El mensaje de error se debe a que indicas una longitud (1000) pero la cadena literal consta de un numero mayor de caracteres (debes considerar el '\0' al final de esta).

Se debe solucionar si eliminas el numero de elementos.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Talard

Desconectado Desconectado

Mensajes: 4


Ningún problema debería resolverse dos veces.


Ver Perfil
Re: ¿Variable mayor a char?
« Respuesta #2 en: 19 Febrero 2012, 17:04 pm »

Perfecto, muchas gracias tío ^^

(Lo que hice fue añadir 1, teniendo en cuenta el \0) :3
« Última modificación: 19 Febrero 2012, 17:05 pm por Talard » En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: ¿Variable mayor a char?
« Respuesta #3 en: 19 Febrero 2012, 17:33 pm »

El tema está solucionado pero añado una cosa:

Es mejor quitar el número en los corchetes porque nunca te equivocarás al contar los caracter y despues para acceder a cada cifra lo que haces es escribir la posición de dicha cifra entre los corcehetes.

Saludos
En línea

Talard

Desconectado Desconectado

Mensajes: 4


Ningún problema debería resolverse dos veces.


Ver Perfil
Re: ¿Variable mayor a char?
« Respuesta #4 en: 19 Febrero 2012, 17:42 pm »

Entiendo, osea, al dejar
Código
  1. numero[] = "...";
No hay limite de caracteres, no?
En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: ¿Variable mayor a char?
« Respuesta #5 en: 19 Febrero 2012, 17:47 pm »

Que yo sepa no.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿Variable mayor a char?
« Respuesta #6 en: 19 Febrero 2012, 18:02 pm »

Buena pregunta.

Según el estándar de C (ISO C99) un compilador debe aceptar, como mínimo, cadenas literales de hasta 4,095 caracteres.

Según el viejo estándar de C++ (C++98) no hay limites sino recomendaciones, en su Anexo B (que solo es informativo) se sugiere un limite 65,536 caracteres para una cadena literal.

Lo mejor en un escenario como este es revisar la documentación del compilador.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Variable Char a BYTE « 1 2 »
Programación C/C++
bwsr 12 6,082 Último mensaje 23 Febrero 2013, 20:04 pm
por bwsr
[Ayuda] variable dentro de char (solucionado) « 1 2 »
Programación C/C++
sabeeee 11 6,060 Último mensaje 24 Diciembre 2014, 21:20 pm
por sabeeee
[AYUDA EN C] Leer texto del teclado y guardar en una variable llamada char *str
Programación C/C++
soundevice 3 2,323 Último mensaje 29 Septiembre 2016, 02:45 am
por soundevice
Separa char para usar en otra variable
Programación C/C++
veravluis 7 2,226 Último mensaje 22 Marzo 2017, 00:45 am
por engel lex
Se puede acceder a la memoria de una variable tipo char ?
Programación C/C++
digimikeh 4 1,437 Último mensaje 29 Diciembre 2018, 01:09 am
por digimikeh
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines