Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Informática I] Programa integrador de listas + Archivos + Socket
Autor Mensaje
apu87 Sin conexión
Militante
Sin estado :(
***

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 66
Agradecimientos dados: 11
Agradecimientos: 7 en 5 posts
Registro en: Oct 2014
Mensaje: #16
RE: [Informática I] Programa integrador de listas + Archivos + Socket
Buen aporte no lo probe porque ando estudiando del detel y me hice las mismas funciones para practicar para el final.

solo un detalle por si alguien llega aca. yo tambien tuve el mismo problema y es que cuando guardas la lista en un archivo tambien estas guardano la direccion del puntero siguiente que no es necesario ya que cuando cargas el archivo o lo envias por sockets esta puede cambiar.
eso lo solucione declarando de esta manera la estructura.

/* estructura autorreferenciada */

typedef struct Nodo
{ int valor;
char nombre[50]; /* define dato como un char */
}nodo;

struct nodoCola {

nodo dato;
struct nodoCola *ptrSiguiente; /* apuntador nodoCola */
} ; /* fin de la estructura nodoCola */

typedef struct nodoCola NodoCola;
typedef NodoCola *ptrNodoCola;


Declaras una structura datos y esa dentro de una structura que contiene el puntero siguiente.

despues a la hora de guardar solo guardas la structura datos y no la nodoCola.


void guardarLista(ptrNodoCola *ptrCabeza)
{
FILE *fp;
ptrNodoCola recorre;
recorre=*ptrCabeza;

nodo datos; /*Aca no use malloc porqque no creo que la pc se quede sin memoria para una sola structura*/

fp=fopen("Datos.bin","wb+");
while(recorre!=NULL)
{
fwrite(&(recorre->dato),sizeof(datos),1,fp);
recorre=recorre->ptrSiguiente;
}


fclose(fp);
}



para cargar la lista aun estoy trabajando en ello porque me mareo con los punteros, pero vi tu idea de retornar un puntero( para usar el puntero ya creado en el main) y creo que pruebo esa.

La mayor parte lo saque del detel que lo recomiendo. creeme que me lei varios libros y es el unico que te tira codigo directo para compilar sin errores y cada linea explicada.
pd: saben cuales son las librerias de sockets de la catedra que se usa en el final? porque yo la curse hace 3 años no vi sockets y me estuve practicando con codigos de internet que puedo conectarmee pero son un monton de lineas de codigos del cliente /servidor para aprenderse xd.
(Este mensaje fue modificado por última vez en: 30-05-2018 16:41 por apu87.)
30-05-2018 16:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)