1
« en: Sábado 17 de Julio de 2004, 04:33 »
Saludos,
Bueno tengo el siguiente problema, tengo un archivo secuencial con registros, necesito leer el contenido de ese archivo, especificamente uno de los campos (codigo), para poder hacer una validacion al dar de alta un registro.
Estoy utilizando la funcion fscanf() pero no sirve, se me queda en un loop infinito, a continuacion les coloco el codigo:
#include <stdio.h>
#include "funcion.h"
int main() {
FILE *prueba;
registro regprueba;
prueba = fopen("/ruta/al_archivo/archivo.txt","r");
while (!feof(prueba)) {
fscanf(prueba,"%d",®prueba.codigo);
printf ("%d",regprueba.codigo);
}
fclose (prueba);
return 0;
}
donde funcion.h es un archivo creado por mi que contiene otras funciones mas, que no vienen al caso, y contienen la estructura de los registros que tambien coloco a continuacion:
typedef struct {
int codigo;
char descripcion[30];
char unidad;
int cantidad_disponible;
int cantidad_reservada;
int cantidad_pedida;
float costo;
float precio;
float beneficio;
float total;
}registro;
El codigo de arriba es solo una prueba que estaba haciendo para ver si podia leer bien el campo codigo de los registros, pero como ya les dije, no puedo.
¿Alguien tiene idea de que pueda estar pasando?