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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error:Estructura con strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error:Estructura con strings  (Leído 2,160 veces)
SkaTrumpet

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Error:Estructura con strings
« en: 12 Mayo 2016, 02:07 am »

Hola Este es parte de mi codigo y de verdad no se como arreglar el problema
Código
  1. typedef struct{
  2.    int x,y;
  3.    char name[10];
  4. }Opcion;
  5.  
  6. void opciones()
  7. {
  8.    int i;
  9.    Opcion opc[3];
  10.    opc[0].name="JUGAR";
  11.    opc[1].name="RECORDS\0";
  12.    opc[2].name="AYUDA\0";
  13.    opc[3].name="SALIR\0";
  14.    for(i=1;i<=4;i++)
  15.    {
  16.        opc[i-1].x=10;
  17.        opc[i-1].y=i*100;
  18.        rectangle(opc[i-1].x,opc[i-1].y,opc[i-1].x+30,textwidth(opc[i-1].name));
  19.    }
  20. }
  21.  
Y obtenego estos errores:
error: incompatible types in assignment of 'const char [6]' to 'char [10]'


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Error:Estructura con strings
« Respuesta #1 en: 12 Mayo 2016, 03:39 am »

Tienes varios errores de sintaxis y de conceptos. Primero esto:

Código
  1. opc[0].name="JUGAR";

No es valido, no puedes asignar una cadena a un array de chars de esa forma (Solo se puede hacer en la misma linea de declaración del mismo), seria asi

Código
  1. char name[10] = "JUGAR";

Si lo deseas en forma de asignación pues debes asignar cada caracter por separado en la posición que deseas, o usar una de las funciones de copiado de cadenas de la familia strcpy, etc, por ejemplo:

Código
  1. strcpy_s(opc[0].name, "JUGAR");

Finalmente tiene un error de concepto cuando creas el array de estructuras "Opcion". Si dices que creas un array de 3 estructuras:

Código
  1. Opcion opc[3];

Luego no puedes salir haciendo esto  :silbar::

Código
  1. opc[3].name="SALIR\0";

Los arrays siempre son zero indexed, si necesitas mas info puedes darle una lectura a esto
http://programmers.stackexchange.com/questions/110804/why-are-zero-based-arrays-the-norm

Saludos


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Error:Estructura con strings
« Respuesta #2 en: 12 Mayo 2016, 14:52 pm »

Otra opcion es cambiar.

Código
  1. char name[10];

por

Código
  1. char *name;

asi no usariamos 2 veces memoria para la misma cadena. El apuntado simplemente tendria la direccion de la cadena estatica.

Ahora que si esa estructura se va a guardar en archivo entonces no seria util. Y tendrias que usar las recomendaciones de Tunder.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
estructura de datos o fichero para guardar strings, que sea rapida la consulta
Java
kinos 2 4,449 Último mensaje 1 Junio 2010, 20:32 pm
por kinos
[Resuelto]¿Cómo puedo solucionar este error en el uso de vectores con strings? « 1 2 »
Programación C/C++
OmarHack 11 5,923 Último mensaje 20 Junio 2013, 01:33 am
por OmarHack
error estructura al compilar
Programación C/C++
indict 4 2,404 Último mensaje 2 Julio 2013, 18:39 pm
por indict
syntax error, unexpected T_VARIABLE al concatenar Strings
PHP
NikNitro! 1 3,029 Último mensaje 29 Diciembre 2013, 14:22 pm
por EFEX
Error en comparacion de strings.
Programación C/C++
NicolasPileci 2 2,261 Último mensaje 3 Junio 2017, 15:26 pm
por NicolasPileci
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines