FWIDE(3)

NOM
fwide - Fixer et déterminer les orientations d'un flux

SYNOPSIS
#include <wchar.h>

int fwide(FILE *flux, int mode);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

fwide() : _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ; ou cc -std=c99

DESCRIPTION
Lorsque le mode vaut zéro, la fonction fwide() détermine l'orientation du flux. Elle renvoie une valeur positive si le flux est orienté caractères larges, c'est-à-dire si les entrées-sorties par caractère large sont autorisées, mais pas celles par octet Elle renvoie une valeur négative si le flux est orienté octets, c'est-à-dire si les entrées-sorties par octet sont autorisées, mais pas celles par caractère large. Elle renvoie zéro si le flux n'a pas encore d'orientation. Dans ce cas, l'opération d'entrée-sortie suivante peut changer son orientation (octet s'il s'agit d'une opération normale, caractère large si c'est une opération avec des caractères larges).

Une fois qu'un flux a une orientation, elle ne peut pas être changée, et persistera jusqu'à sa fermeture.

Quand le mode est non nul, la fonction fwide() essaye d'abord de fixer l'orientation correspondante du flux (caractères larges si le mode est positif, octets s'il est négatif). Puis elle renvoie une valeur correspondant à l'orientation réelle, comme précédemment.

VALEUR RENVOYÉE
La fonction fwide() renvoie l'orientation du flux, après l'avoir éventuellement modifiée. Une valeur de retour supérieure à zéro représente une orientation caractères larges, une valeur de retour inférieure à zéro une orientation octets, une valeur de retour nulle représentant une orientation non définie.

CONFORMITÉ
C99, POSIX.1-2001.

NOTES
Une sortie en caractères larges dans un flux orienté octets peut être réalisée avec la fonction fprintf(3) en utilisant les directives %lc et %ls.

Les sorties orientées octet dans un flux orienté caractères larges sont possibles en utilisant les directives %c et %s de la fonction fwprintf(3).

VOIR AUSSI
fprintf(3), fwprintf(3)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 28 août 2000 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 fwide ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.