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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como uso un *char dentro de un struct?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como uso un *char dentro de un struct?  (Leído 2,594 veces)
AXA

Desconectado Desconectado

Mensajes: 18



Ver Perfil WWW
Como uso un *char dentro de un struct?
« en: 25 Octubre 2021, 05:42 am »

Yo declaro...
struct tclist { long pred, post;
                    unsigned char  *data[20];
};
tlist clist[1000];
void main(){
clist[1].pred=10;
clist[1].*data="hola";
}
este clist[1].*data no funciona. Yo hice una rutina para cargarlo. pero no hay una forma
directa. y luego para leerla?.
para ETERNAL IDIOL (que sos un idolo), ya resolvi usando cadenas usando este array.
Ya termino el LISP. Uso pocas instrucciones para el agedres. Me falta si esto que pregunto.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Como uso un *char dentro de un struct?
« Respuesta #1 en: 25 Octubre 2021, 11:10 am »

El primer indice de un array es el 0.

Las cadenas no son unsigned y o la estructura tiene un puntero (por lo que apunta a memoria que reservas fuera de la misma) o tiene un array de caracteres de un tamaño fijo. En este caso declaraste 20 punteros a unsigned char. ¿Es eso lo que querias?

Código
  1. clist[0].data[0] = "hola";

¿O una cadena de 20 caracteres? Si era esto ultimo:
Código
  1. char  data[20];

Tenes que COPIAR la cadena, no asignarla. De esta manera un poco enrevesada se evitan problemas de buffer overflow (seguramente las cadenas de entrada no seran hola siempre ni tendran un tamaño fijo):
Código
  1. strncpy(clist[0].data, "hola", sizeof(clist[0].data) - 1);
  2. clist[0].data[sizeof(clist[0].data) - 1] = 0;


« Última modificación: 25 Octubre 2021, 11:12 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
AXA

Desconectado Desconectado

Mensajes: 18



Ver Perfil WWW
Re: Como uso un *char dentro de un struct?
« Respuesta #2 en: 25 Octubre 2021, 12:05 pm »

Gracias, ya la habia copiado. Pero tal vez existia otra forma. Me hice mi propia rutina de carga y una variable gloval. que la asigno antes.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Como uso un *char dentro de un struct?
« Respuesta #3 en: 25 Octubre 2021, 13:54 pm »

De nada.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
Firos 0 4,999 Último mensaje 24 Marzo 2011, 13:47 pm
por Firos
Un struct dentro de una matriz
Programación C/C++
freakx 2 6,163 Último mensaje 23 Enero 2012, 02:16 am
por freakx
char[] to struct
Java
Xedrox 0 1,274 Último mensaje 15 Junio 2014, 02:16 am
por Xedrox
[Error] char dentro de struct (AYUDA)
Programación C/C++
SaGaRaS 2 1,957 Último mensaje 3 Diciembre 2014, 11:27 am
por eferion
Duda con respecto a struct dentro de struct
Programación C/C++
Naimaderis 1 3,234 Último mensaje 2 Abril 2017, 00:10 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines