Ejemplo de Longitud Fija y Variable
Longitud Variable:
include <conio.h> include <stdlib.h> include <stdio.h> include <string.h> define CON_MSG 1 define SIN_MSG 0 typedef struct {int di,me,an; }t_fecha; typedef struct{ long dni; char apn[36]; char sexo; t_fecha fec; double importe; }t_info; int ABRIRARCHIVO(FILE*fp,const charnom,const charmodo,int csm) {fp=fopen(nom,modo); if(!*fp) {if(csm==CON_MSG) {printf("\n Error"); getch(); } return 0; } return 1; } void main(void) { FILEfpent; char linea[500]; charaux; t_info reg; if(!ABRIRARCHIVO(&fpent,"datos.txt","wt",CON_MSG)) exit(1); printf("\n Ingrese dni(0 finaliza):"); scanf("%ld",®.dni); while(reg.dni!=0) { printf("\n Ingrese nombre y apellido:"); fflush(stdin); gets(reg.apn); printf("\n Ingrese sexo(M/F):"); scanf("%c",®.sexo); printf("\n Ingrese fecha:"); printf("\n Dia:"); scanf("%d",®.fec.di); printf("\n Mes:"); scanf("%d",®.fec.me); printf("\n Anio:"); scanf("%d",®.fec.an); printf("\n Ingrese importe:"); scanf("%ld",& reg.importe); fprintf(fpent,"%ld|%s|%c|%d/%d/%d|%ld\n", reg.dni, reg.apn, reg.sexo, reg.fec.di, reg.fec.me, reg.fec.an, reg.importe); printf("\n Ingrese dni(0 finaliza):"); scanf("%ld",®.dni); } fclose(fpent); }
Longitud Fija
include <conio.h> include <stdlib.h> include <stdio.h> include <string.h>#define N 1 typedef struct { int dd; int mm; int aaaa; } t_fecha; typedef struct { char ape[20]; char nom[20]; int edad; char sex; t_fecha fnac; float alt; }t_pers; void main() { FILE * pF; t_pers aux; int i; pF = fopen("personas.txt", "w"); for( i=0 ; i < N; i++) { scanf("%s %s %d %c %d %d %d %f",aux.ape, aux.nom, &aux.edad, &aux.sex, &aux.fnac.dd, &aux.fnac.mm, &aux.fnac.aaaa, &aux.alt); fprintf(pF,"%-15s %-15s %-6d %-2c %-3d %-3d %-5d %-5.2f\n",aux.ape, aux.nom, aux.edad, aux.sex, aux.fnac.dd, aux.fnac.mm, aux.fnac.aaaa, aux.alt); } fclose(pF); }