Autor
|
Tema: ayuda fread (Leído 6,225 veces)
|
Gr1nD3r
Desconectado
Mensajes: 13
|
#include <stdio.h> #include <stdlib.h> #include <string.h>
main(){ struct{ char nombre[50]; char direccion[100]; char movil[10]; char email[100]; short int nDia; short int nMes; short int nAno; }persona[100]; int i; int numeroFicha=0; int opcion=1; char textoTemporal[40]; FILE *fichero; printf("1.- A%adir ficha nueva\n\n",164); printf("2.- Visualizar nombres de fichas existentes\n\n"); printf("3.- Buscar por nombre\n\n"); while(opcion != 0){ printf("Teclee su opcion: "); gets(textoTemporal); sscanf(textoTemporal,"%d",&opcion); switch(opcion){ case 1: if(numeroFicha<100){ fichero=fopen("gente.dat","ab"); printf("Nombre: "); gets(persona[numeroFicha].nombre); printf("Direccion: "); gets(persona[numeroFicha].direccion); printf("Telefono movil: "); gets(persona[numeroFicha].movil); printf("Email: "); gets(persona[numeroFicha].email); printf("Dia de nacimiento: "); gets(textoTemporal); sscanf(textoTemporal,"%d",&persona[numeroFicha].nDia); printf("Mes de nacimiento: "); gets(textoTemporal); sscanf(textoTemporal,"%d",&persona[numeroFicha].nMes); printf("Año de nacimiento: "); gets(textoTemporal); sscanf(textoTemporal,"%d",&persona[numeroFicha].nAno); fwrite(persona[numeroFicha].nombre,1,sizeof(persona[numeroFicha].nombre),fichero); fwrite(persona[numeroFicha].direccion,1,sizeof(persona[numeroFicha].direccion),fichero); fwrite(persona[numeroFicha].movil,1,sizeof(persona[numeroFicha].movil),fichero); fwrite(persona[numeroFicha].email,1,sizeof(persona[numeroFicha].email),fichero); fwrite(&persona[numeroFicha].nDia,sizeof(persona[numeroFicha].nDia),1,fichero); fwrite(&persona[numeroFicha].nMes,sizeof(persona[numeroFicha].nMes),1,fichero); fwrite(&persona[numeroFicha].nAno,sizeof(persona[numeroFicha].nAno),1,fichero); numeroFicha++; fclose(fichero); } else{ printf("Limite de fichas alcanzado"); } break; case 2: fichero=fopen("gente.dat","rb"); for(i=0;i<numeroFicha;i++){ fread(persona[i].nombre,1,sizeof(persona[i].nombre),fichero); puts(persona[i].nombre); fread(persona[i].direccion,1,sizeof(persona[i].direccion),fichero); fread(persona[i].movil,1,sizeof(persona[i].movil),fichero); fread(persona[i].email,1,sizeof(persona[i].email),fichero); fread(&persona[i].nDia,sizeof(persona[i].nDia),1,fichero); fread(&persona[i].nMes,sizeof(persona[i].nMes),1,fichero); fread(&persona[i].nAno,sizeof(persona[i].nAno),1,fichero); } fclose(fichero); break; } } }
Alguien sabe por que no se muestran los nombres de las fichas por pantalla cuando escojo la 2ª opcion??? gracias
|
|
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
veo visiones? me salia el codigo en una marquesina de lado a lado
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
A mi tambien igual no manejo archivos en C...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Gr1nD3r
Desconectado
Mensajes: 13
|
jajajaja no veis visiones xdd. Lo puse sin querer en un marco xd
Bueno, alguna solucion??
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
veo visiones? me salia el codigo en una marquesina de lado a lado A mí no me sale ninguna marquesina Sobre el código: - Declaras main() que no es standard. Pásate por acá.
- Es lógico que no vaya la segunda opción. Yo por ejemplo, no tengo creado este fichero, por lo tanto caigo en un bucle infinito. Haz una opción para cuando no tengas el fichero, vuelva a main().
Saludos Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
|
|
« Última modificación: 26 Agosto 2010, 00:32 am por Horricreu »
|
En línea
|
|
|
|
Gr1nD3r
Desconectado
Mensajes: 13
|
Ya esta solucionado. Los datos se guardaban en el fichero pero no el numero de fichas xd. Al usar fopen("gente.dat","wb"); si no tienes el fichero se crea automaticamente
saludos
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
Ya esta solucionado. Los datos se guardaban en el fichero pero no el numero de fichas xd
Igualmente mírate mi respuesta, que tienes errores graves Saludos
|
|
|
En línea
|
|
|
|
Gr1nD3r
Desconectado
Mensajes: 13
|
K error grave?
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
K error grave?
Te vuelvo a repetir que mires mi primera respuesta. Saludos
|
|
|
En línea
|
|
|
|
Gr1nD3r
Desconectado
Mensajes: 13
|
Como seria la declaracion standar de main??
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
fread y fwrite con clases
Programación C/C++
|
newone
|
4
|
4,889
|
23 Junio 2011, 23:40 pm
por newone
|
|
|
Usos fwrite, fread
Programación C/C++
|
diegoCmC
|
4
|
5,593
|
13 Septiembre 2012, 21:42 pm
por diegoCmC
|
|
|
Ayuda con basura en fread
Programación C/C++
|
harry_the_blogger
|
3
|
2,298
|
2 Abril 2016, 15:30 pm
por class_OpenGL
|
|
|
fread
Programación C/C++
|
saltimbanki
|
1
|
2,887
|
21 Diciembre 2020, 20:27 pm
por Eternal Idol
|
|
|
fread me muestra algunos hexadecimales de forma incorrecta
Programación C/C++
|
otroWeyMas.nasm
|
3
|
2,640
|
2 Febrero 2022, 19:31 pm
por Eternal Idol
|
|