LECT (3I)     version 4.6.9     March 2022

User Intro    Prog Intro    Liste des programmes    Liste des manuels
Table of Contents


NAME

lect, c_lect, c_plect, ecr, c_ecr, c_pecr - lecture, écriture d'une image

SYNOPSIS

subroutine lect(nf,nligne,buf)
integer nf,nligne,buf(1)

subroutine ecr(nf,nligne,buf)
integer nf,nligne,buf(1)

void lect_(nf,nligne,buf)
struct image **nf; Fort_int *nligne; char *buf;

void c_lect(nf,nligne,buf)
struct image *nf; int nligne; void *buf;

void c_plect(nf,nligne,buf,iy,lock)
struct image *nf; int nligne, iy, lock; void *buf;

void ecr_(nf,nligne,buf)
struct image **nf; Fort_int *nligne; char *buf;

void c_ecr(nf,nligne,buf)
struct image *nf; int nligne; char *buf;

void c_pecr(nf,nligne,buf,iy,lock)
struct image *nf; int nligne, iy, lock; void *buf;

DESCRIPTION

lect, c_lect lisent, dans l'image désignée par nf, à partir de la position courante du pointeur de ligne, nligne lignes, et renvoient le résultat dans buf.
c_plect lit nligne lignes à partir de la ligne iy (comptée à partir de 1). Sur système supportant la programmation parallèle avec pthreads (KSR par exemple), l'opération sera protégée par mutex-lock si l'argument lock est non nul.
Si l'image est de type flottant et que son type est inconnu (ancien format Inrimage), un message "Warning" est imprimé sur stderr; si son type est connu, les données sont converties sur place dans le type de la machine locale. De même si l'image est de type virgule fixe sur 2 ou 4 octets, la permutation des octets est automatique si nécessaire.

ecr, c_ecr font le même travail en écriture.
c_pecr écrit nligne lignes à partir de la ligne iy (comptée à partir de 1). Sur système supportant la programmation parallèle avec pthreads (KSR par exemple), l'opération sera protégée par mutex-lock si l'argument lock est non nul.
Si le codage des données de l'image est incompatible avec celui de la machine locale, un message est imprimé sur stderr, et le programme se termine en erreur fatale par appel à imerror. C'est le cas pour des formats de flottant différents, ou d'ordre d'octets différents en virgule fixe.

Le pointeur de ligne est mis a jour après la lecture ( resp. écriture ), c'est-à-dire incrémenté de nligne.

"SEE ALSO"

Intro(3i) , lptset(3i) , imerror(3i) , lecflt(3i) , lectpl(3i) .

DIAGNOSTICS

Ces modules appellent imerror en cas d'erreur.