]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright (c) Bruno Haible <haible@clisp.cons.org> |
2 | .\" | |
89e3ffe9 | 3 | .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) |
fea681da MK |
4 | .\" This is free documentation; you can redistribute it and/or |
5 | .\" modify it under the terms of the GNU General Public License as | |
6 | .\" published by the Free Software Foundation; either version 2 of | |
7 | .\" the License, or (at your option) any later version. | |
fe382ebf | 8 | .\" %%%LICENSE_END |
fea681da MK |
9 | .\" |
10 | .\" References consulted: | |
11 | .\" GNU glibc-2 source code and manual | |
12 | .\" Dinkumware C library reference http://www.dinkumware.com/ | |
008f1ecc | 13 | .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html |
fea681da MK |
14 | .\" ISO/IEC 9899:1999 |
15 | .\" | |
af9037df | 16 | .TH FWIDE 3 2014-03-19 "GNU" "Linux Programmer's Manual" |
fea681da MK |
17 | .SH NAME |
18 | fwide \- set and determine the orientation of a FILE stream | |
19 | .SH SYNOPSIS | |
20 | .nf | |
21 | .B #include <wchar.h> | |
22 | .sp | |
23 | .BI "int fwide(FILE *" stream ", int " mode ); | |
24 | .fi | |
cc4615cc MK |
25 | .sp |
26 | .in -4n | |
27 | Feature Test Macro Requirements for glibc (see | |
28 | .BR feature_test_macros (7)): | |
29 | .in | |
c865a6eb | 30 | .ad l |
cc4615cc MK |
31 | .sp |
32 | .BR fwide (): | |
c865a6eb | 33 | .RS 4 |
bef2e737 | 34 | _XOPEN_SOURCE\ >=\ 500 || _ISOC99_SOURCE || |
38d92333 | 35 | .br |
bef2e737 | 36 | _POSIX_C_SOURCE\ >=\ 200112L; |
c865a6eb MK |
37 | .br |
38 | or | |
cc4615cc | 39 | .I cc\ -std=c99 |
bef2e737 | 40 | .RE |
c865a6eb | 41 | .ad |
fea681da | 42 | .SH DESCRIPTION |
60a90ecd MK |
43 | When \fImode\fP is zero, the |
44 | .BR fwide () | |
45 | function determines the current | |
c13182ef | 46 | orientation of \fIstream\fP. |
ec1a3d9f | 47 | It returns a positive value if \fIstream\fP is |
75b94dc3 | 48 | wide-character oriented, that is, if wide-character I/O is permitted but char |
c13182ef | 49 | I/O is disallowed. |
88879aeb MK |
50 | It returns a negative value if \fIstream\fP is byte oriented\(emthat is, |
51 | if char I/O is permitted but wide-character I/O is disallowed. | |
c13182ef | 52 | It |
fea681da MK |
53 | returns zero if \fIstream\fP has no orientation yet; in this case the next |
54 | I/O operation might change the orientation (to byte oriented if it is a char | |
d0f17b57 | 55 | I/O operation, or to wide-character oriented if it is a wide-character I/O |
fea681da MK |
56 | operation). |
57 | .PP | |
58 | Once a stream has an orientation, it cannot be changed and persists until | |
59 | the stream is closed. | |
60 | .PP | |
c7094399 | 61 | When \fImode\fP is nonzero, the |
60a90ecd MK |
62 | .BR fwide () |
63 | function first attempts to set | |
8d998d01 MK |
64 | \fIstream\fP's orientation (to wide-character oriented |
65 | if \fImode\fP is greater than 0, or | |
66 | to byte oriented if \fImode\fP is less than 0). | |
c13182ef | 67 | It then returns a value denoting the |
fea681da | 68 | current orientation, as above. |
47297adb | 69 | .SH RETURN VALUE |
60a90ecd MK |
70 | The |
71 | .BR fwide () | |
72 | function returns the stream's orientation, after possibly | |
c13182ef | 73 | changing it. |
ec1a3d9f MK |
74 | A positive return value means wide-character oriented. |
75 | A negative return value means byte oriented. | |
c13182ef | 76 | A return value of zero means undecided. |
47297adb | 77 | .SH CONFORMING TO |
8039becf | 78 | C99, POSIX.1-2001. |
fea681da MK |
79 | .SH NOTES |
80 | Wide-character output to a byte oriented stream can be performed through the | |
60a90ecd | 81 | .BR fprintf (3) |
5adafd6d MK |
82 | function with the |
83 | .B %lc | |
84 | and | |
85 | .B %ls | |
86 | directives. | |
fea681da MK |
87 | .PP |
88 | Char oriented output to a wide-character oriented stream can be performed | |
60a90ecd MK |
89 | through the |
90 | .BR fwprintf (3) | |
5adafd6d MK |
91 | function with the |
92 | .B %c | |
93 | and | |
94 | .B %s | |
95 | directives. | |
47297adb | 96 | .SH SEE ALSO |
e37e3282 MK |
97 | .BR fprintf (3), |
98 | .BR fwprintf (3) |