Código C:
Ver original
#include <stdio.h> #include <stdlib.h> #include <string.h> struct stAntecedente { char rut_alumno[10]; int id_documento; char sentencia[30]; int id_delito; char fecha[12]; char rut_polichile[12]; }; void InsertarAntecedente(struct stAntecedente *regi) { int i; char num[6]; regi->rut_alumno[i] = 0; regi->fecha[i] = 0; regi->rut_polichile[i] = 0; //Este opción introduce una sentencia, pero para este programa no se usa /*printf("Sentencia: "); fgets(regi->sentencia, 30, stdin); for(i = strlen(regi->sentencia)-1; i && regi->sentencia[i] < ' '; i--) regi->sentencia[i] = 0; */ } int main() { struct stAntecedente regi; FILE *filea; if(!filea) InsertarAntecedente(®i); }
A pesar de que hice reserva de memoria sobre la estructura con la que voy a trabajar, no me resulta la inserción del registro, cosa que ustedes pueden ver con este otro programa que muestra la lista de registros almacenados en ese archivo.
Código C:
Ver original
#include <stdio.h> #include <stdlib.h> #include <string.h> struct stAntecedente { char rut_alumno[10]; int id_documento; char sentencia[30]; int id_delito; char fecha[12]; char rut_polichile[12]; }; void MostrarAntecedente (struct stAntecedente *regi) { printf("%2d %-11s %-11s %8d %-13s %-14s\n", regi->id_documento, regi->rut_polichile, regi->fecha, regi->id_delito, regi->rut_alumno, regi->sentencia); } int main() { /* Mostrar la lista total de antecedentes */ struct stAntecedente regi; FILE *filea; if(!filea) MostrarAntecedente(®i); }
No he trabajado antes con largo variable, sino solamente con largo fijo. No sé que más puedo corregir.
De antemano se agradece la ayuda.
Saludos.