• Lunes 18 de Noviembre de 2024, 05:21

Autor Tema:  Almacenar Texto En Memoria  (Leído 1661 veces)

Eduardo_Garcia

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Almacenar Texto En Memoria
« en: Jueves 26 de Mayo de 2005, 15:51 »
0
Hola, puede que para los avanzados sea una pregunta un poco tonta, pero llevo varios dias buscando por todas partes sin hallar solucion.

#include <iostream>

int main()
{
char frase[14] = "Hola, me llamo ";
std::cout << frase << "Manolo\a" << std::endl;

return 0;
}

En una pagina lei un codigo muy parecido a este, pero al meterlo en el Dev-C++ e intentar compilarlo me dice:

5 C:\C\run.cpp initializer-string for array of chars is too long

He probado algunos otros codigos pero siguen sin funcionar. Lo unico que quiero es poder almacenar un texto para no tener que escribirlo en std::cout cada vez que lo vaya a usar.

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Almacenar Texto En Memoria
« Respuesta #1 en: Jueves 26 de Mayo de 2005, 17:02 »
0
Citar
5 C:\C\run.cpp initializer-string for array of chars is too long

esto es porque la cadena contiene mas caracteres(15+mas fin de linea"\0") que el espacio reservado en el arreglo frase[14] ...

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Almacenar Texto En Memoria
« Respuesta #2 en: Jueves 26 de Mayo de 2005, 20:50 »
0
de hecho la frase tiene un espacio al final
asi que deberias tener el array de 16.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

pitukilloloco

  • Miembro MUY activo
  • ***
  • Mensajes: 104
    • Ver Perfil
Re: Almacenar Texto En Memoria
« Respuesta #3 en: Jueves 26 de Mayo de 2005, 22:50 »
0
Para evitar contar los caracteres C te permite declarar una constante de cadena sin especificar el número de bytes. Por ejemplo, en tu caso lo declararías así:
Código: Text
  1.  
  2. char frase[] = &#34;Hola, me llamo &#34;;
  3.  
  4.  
Al declararlo de esta manera, el compilador se encarga de solicitar el suficiente espacio para que la cadena Hola, me llamo más el caracter nul '\0' quepan en el arreglo de caracteres frase

Eduardo_Garcia

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Almacenar Texto En Memoria
« Respuesta #4 en: Viernes 27 de Mayo de 2005, 15:59 »
0
Vuestras respuestas me han sido muy utiles, muchas gracias por la ayuda. :rolleyes: