Sucede que estoy intentando crear un programa en el lenguaje de programación C, pero necesito ayuda, ya que el programa tiene un problema, y es que durante el tiempo de ejecucion, luego de la compilacion, presenta un error.
Es un programa que crea un archivo de registros, y tambien lo lee e imprime su contenido en pantalla.
El problema esta al momento de imprimir en pantalla los registros creados en el archivo, ya que si usted crea el archivo con 5 registros, el programa va a imprimir 6 registros, es decir, siempre imprime un registro mas que no fue solicitado, y esto no es correcto, porque yo quiero que imprima el contenido del archivo, y no registros "fantasmas".
Asi que necesito a algun experto que me ayude.
Este es el codigo en cuestion
Un programa con dos funciones, CreateFile: crea un archivo con la cantidad de registros ingresada por el usuario; y ReadFile: lee un archivo e imprime en pantalla los registros que contiene ese archivo, parece ser que en esta funcion (ReadFile) es donde esta el problema pero no puedo comprender o encontrar el error
Código
// testing file structure and visibility #include "stdio.h" #include "stdlib.h" void CreateFile(); void ReadFile(); struct Record { char Charac[20]; }; int main() { int Command=-1,i=0; struct Record DefaultRecord; for(i=0;i<=19;i++) { if(i==19) { DefaultRecord.Charac[i]='@'; } else { DefaultRecord.Charac[i]='#'; } } while(Command!=0) { switch(Command) { case 1: CreateFile(); break; case 2: ReadFile(); break; default: } } return 0; } void CreateFile() { int nR=0,i=0,n=0,x=0; char FileName[20]; // FIX FILE *fPtr; struct Record XRecord; for(i=0;i<=19;i++) { if(i==19) { XRecord.Charac[i]='@'; } else { XRecord.Charac[i]='#'; } } { } else { for(i=1;i<=nR;i++) { for(x=0;x<=19;x++) { } n++; } } } void ReadFile() { int v=0,i=0,n=0,x=0; FILE *fPtr; char FileName[20]; struct Record XRecord; for(i=0;i<=19;i++) { if(i==19) { XRecord.Charac[i]='Y'; } else { XRecord.Charac[i]='x'; } } { } else { { n++; for(x=0;x<=19;x++) { } for(i=0;i<=19;i++) { } } } }
Alguien ayudeme por favor