• Martes 5 de Noviembre de 2024, 15:48

Autor Tema:  Re: Problema al leer desde un archivo a un registro  (Leído 1080 veces)

maxcab

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Problema al leer desde un archivo a un registro
« en: Lunes 10 de Febrero de 2003, 00:02 »
0
Hola, tengo un problema porque me han pasado un programa que en teoría hace unos años compilaba.

El problema lo tengo cuando el programa intenta leer de un archivo rellenando todos los campos de un registro.

El programa define un registro y luego intenta leer, digamos:

struct {
char nombre[20];
char apellido[20];
char telefono[15];
} registro;

int fichero;
fichero = open("nombres.txt", O_RDONLY, 0);
num = read(fichero, registro, sizeof(registro));

Con este código no compila, y dice que no puede asignar "void *" al registro.

sin embargo si para abrir el fichero usamos

FILE *fichero;
fichero = fopen( "nombres.txt", "r" );

sí que funciona, sin embargo no tengo permiso para modificar el código. ¿Alguno sabeis a que se puede deber?? Muchas gracias por vuestra ayuda.

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Problema al leer desde un archivo a un registro
« Respuesta #1 en: Martes 11 de Febrero de 2003, 13:28 »
0
Veo que abres el archivo para solo lectura. Cuando abres un archivo con

fp=fopen("nombre.txt","r");

estas abriendo el archivo para solo leer en el. Lo debes abrir

fp=fopen("nombre.txt","r+");

para poder accederlo lectura y escritura. No planteas en tu problema como lees el registro, pero si utilizas la función fopen para abrir el archivo, debes utilizar fread para leerlo y así para todas la opereciones de I/O debes utilizar funciones f...

Espero haber entendido bien tu problema y que esto te ayude a aclarar lo que te pasa.

Saludos,

gmantil