FILEOPT (3I)     version 4.6.9     March 2022

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


NAME

fileopt, xfileopt, infileopt, outfileopt, asciifileopt -

SYNOPSIS

int fileopt(name,opt_name)
char *name, *opt_name;

int fileoptg(name,lg_name,opt_name)
char *name, *opt_name; int lg_name;

int xfileopt(name,opt_name,required)
char *name, *opt_name;int required;

int xfileoptg(name,lg_name,opt_name,required)
char *name, *opt_name;int required; int lg_name;

int infileopt(name)
char *name;

int outfileopt(name)
char *name;

FILE *asciifileopt(opt,flag_out)
char *opt;int flag_out;

DESCRIPTION

fileopt, fileoptg, xfileopt, xfileoptg, infileopt, outfileopt renvoient dans le buffer pointé par name le premier nom de fichier non encore utilisé des options du programme.
En mode Inrimage normal, un nom de fichier est un argument égal à "-" ou ne commençant ni par '-' ni par un chiffre. En mode KHOROS, on renvoie l'argument qui suit l'option -in pour les images d'entrée, ou -on pour les images de sortie. Le nombre n, qui commence à 1, est incrémenté de 1 à chaque appel.
Si on trouve un vrai nom de fichier, la valeur retournée est 1.

Si aucun fichier n'est trouvé ou si le nom obtenu est '-', on obtient les résultats suivants :

fileopt, fileoptg
retournent 0 et mettent la chaine "<" ou ">" (pour stdin, stdout), dans name selon que opt_name est égal à "i" ou "o". Cependant en KHOROS, le programme se termine en erreur fatale.
lg_name donne la taille à ne pas dépasser pour le nom.
xfileopt, xfileoptg
ont le même comportement que fileopt sauf en mode KHOROS : il n'y a pas d'erreur fatale si le paramètre required est nul.
infileopt
retourne 0 et met la chaine "<" (stdin) dans name; erreur fatale en mode KHOROS.
outfileopt
retourne 0 et met la chaine ">" (stdout) dans name; erreur fatale en mode KHOROS.

asciifileopt cherche l'option de nom opt, prend l'argument qui suit comme nom de fichier, fait un fopen et renvoie le résultat. Si flag_out est nul, il s'agit d'un fichier en lecture, et on l'ouvre en mode lecture seule.
Si flag_out n'est pas nul, on effectue les tests suivants :

Si le nom de fichier est stdout, on renvoie l'objet stdout.
Si le nom de fichier est stderr, on renvoie l'objet stderr.
Si le nom de fichier commence par ">>", on ouvre le fichier en mode append, sinon en mode truncate.

En cas d'erreur on appelle imerror.

SEE ALSO

Inrimage(1i) pour les options générales.
tstopts(3i) , inr_init(3i) , igetopt(3i) .