• Viernes 8 de Noviembre de 2024, 19:13

Autor Tema:  Me Ayudais Con Punteros  (Leído 2156 veces)

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Me Ayudais Con Punteros
« en: Viernes 11 de Mayo de 2007, 12:55 »
0
Hola,os voy a plantear un problema.y no se porque me da error,porque no se como se asigna (en este caso).

pNodo nodo,pNODO aux;

getline(cin,categoria)
strcpy(aux->articulo.cat,categoria);
aux->articulo.cat[ktam-1]='\0';
//esto anterior lo hago para meter por teclado y recortar si meto mas de el tamaño especificado.

ahora quiero asignar

nodo->articulo.cat=aux->artiuculo.cat //????

esa asignacion como se haría..conforme lo tengo puesta,daría error,,pero como se haría la asignacion?

quiero asignar el campo cat de mi nodo aux ,al campo cat de mi nodo NODO.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #1 en: Viernes 11 de Mayo de 2007, 13:08 »
0
¿cat es un char[size]? Si es asi, lo mejor que podes hacer es la misma copia que antes (strcpy), si fuera un char * te funcionaria de una.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #2 en: Viernes 11 de Mayo de 2007, 13:15 »
0
si...cat es un char [15],pero si te fijas...tengo un getline(cin,categoria),,estoy leyendo un string. y despues paso ese string a mi vector de caracteres,,,me entiendes,,,y como dices que se haría la asignación????

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #3 en: Viernes 11 de Mayo de 2007, 13:25 »
0
Cita de: "pacorubio77"
si...cat es un char [15],pero si te fijas...tengo un getline(cin,categoria),,estoy leyendo un string. y despues paso ese string a mi vector de caracteres,,,me entiendes,,,y como dices que se haría la asignación????
¿Y como sabes que no te van a dar una cadena de 25 caracteres? No podes asignarlo a menos que uses un puntero sino tenes que copiar la memoria tal como ya haces.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #4 en: Viernes 11 de Mayo de 2007, 13:28 »
0
si el tamaño porque me lo especifican en la practica,es decir si yo meto una categoria de 25 palabras se tiene que recortar
es decir si yo hago:

aaaaaaaaaaaaaaaaaaaaaaaa tiene que quedar aaaaaaaaaaaaaa y al final \0 para que las demas a's que queden no se almacenen en el buffer,,pero ese no es el tema...el tema es la asignación..me puedes decir como se hace?
Repito:

Conforme lo he puesto yo,está mal,es decir me da errores de compilación.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #5 en: Viernes 11 de Mayo de 2007, 13:36 »
0
Cita de: "pacorubio77"
si el tamaño porque me lo especifican en la practica,es decir si yo meto una categoria de 25 palabras se tiene que recortar
es decir si yo hago:

aaaaaaaaaaaaaaaaaaaaaaaa tiene que quedar aaaaaaaaaaaaaa y al final \0 para que las demas a's que queden no se almacenen en el buffer,,pero ese no es el tema...el tema es la asignación..me puedes decir como se hace?
Repito:

Conforme lo he puesto yo,está mal,es decir me da errores de compilación.
Bueno, eso no es lo que estas haciendo, sino que estas copiando con strcpy sobre vaya a saber uno que memoria.

Esa linea es el problema: strcpy(aux->articulo.cat,categoria);

Repito:
No podes asignarlo a menos que uses un puntero sino tenes que copiar la memoria tal como ya haces (strcpy aunque seria mejor strncpy).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #6 en: Viernes 11 de Mayo de 2007, 13:40 »
0
claro,,si aux es un puntero...???que tiene una serie de campos..
aux la tengo definida como un pNODO..cual es el fallo??

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #7 en: Viernes 11 de Mayo de 2007, 13:46 »
0
Cita de: "pacorubio77"
claro,,si aux es un puntero...???que tiene una serie de campos..
aux la tengo definida como un pNODO..cual es el fallo??
Que cat no es un puntero, es un array estatico.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

yaG

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #8 en: Viernes 11 de Mayo de 2007, 15:19 »
0
memcpy?
[size=109]Antes de preguntar recuerda el concepto GIYF. Google is your friend.[/size][/u]

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Me Ayudais Con Punteros
« Respuesta #9 en: Viernes 11 de Mayo de 2007, 15:21 »
0
Cita de: "yaG"
memcpy?
Tambien, mientras no te pases del buffer y el ultimo byte sea un 0, no problem.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.