Re: record length

Page principale

Répondre à ce message
Auteur: Patrick Dupre
Date:  
À: guilde
CC: guilde
Sujet: Re: record length
Merci,

En fait je cherche a traduire
OPEN (LU,FILE=FULLNAME,ACCESS='DIRECT',ERR=20,FORM='UNFORMATTED',
     .  IOSTAT=IERR,RECL=NBYTEREC,STATUS='OLD')
puis
  READ (LU,REC=IPOS,ERR=20,IOSTAT=IERR)



Je n'ai pas encore trouver la solution.
Le probleme est avec RECL.
puis IPOS.

est-ce que je dois passer par un getline ou fgets ?

Merci.

===========================================================================
 Patrick DUPRÉ                                 | | email: pdupre@???
 Laboratoire de Physico-Chimie de l'Atmosphère | |
 Université du Littoral-Côte d'Opale           | |
 Tel.  (33)-(0)3 28 23 76 12                   | | Fax: 03 28 65 82 44
 189A, avenue Maurice Schumann                 | | 59140 Dunkerque, France
===========================================================================



> Sent: Thursday, December 29, 2016 at 7:06 PM
> From: "Edgar Bonet" <guilde@???>
> To: guilde <guilde@???>
> Subject: Re: record length
>
> Remarque préliminaire : je suis abonné à cette liste, merci de NE PAS me
> mettre en copie de tes réponses.
>
> Patrick Dupré a écrit :
> > Comment je peux donner le RECL en c ?
>
> La notion de « record length » n'a pas tellement de sens en C, du moins
> pas à l'_ouverture_ du fichier. Un fichier n'est rien de plus qu'une
> suite d'octets, ce n'est pas une suite d'enregistrements.
>
> Ceci dit, au moment de _lire_ le fichier, tu peux le lire par paquets de
> 256 octets si tu veux:
>
>     #include <stdio.h>
>     #define RECORD_LENGTH 256

>
>     size_t ret = fread(buffer, RECORD_LENGTH, 1, the_file);

>
> C.f. man fread.
>
> Edgar.
>
>