United States-English |
|
|
HP-UX Reference > Oorientation(5)HP-UX 11i Version 3: February 2007 |
|
NAMEorientation — the orientation of a stream DESCRIPTIONThe orientation of a stream is a property of a FILE object that is handled as a input/output stream. It is useful when the input/output model assumes that characters are handled as wide-characters within an application and stored as multi-byte characters in files, and that all the wide-character input/output functions begin executing with the stream positioned at the boundary between two multi-byte characters. After a stream is associated with a file, but before any operations are performed on the stream, the stream is without orientation. If a wide-character input or output function is applied to a stream without orientation, the stream becomes wide-oriented implicitly. Likewise, if a byte input or output operation is applied to a stream without orientation, the stream becomes byte-oriented implicitly. Only the fwide() function can alter the orientation of a stream explicitly when the stream is without orientation. Just after a stream is associated with a pipe by the popen() function, the stream is byte-oriented. After the stream becomes byte-oriented or wide-oriented, the orientation of a stream will be fixed and can not be changed until the stream is closed. The following functions are wide-character input/output functions.
The following functions are byte input/output functions.
EXAMPLESTo read characters from a stream when the orientation of the stream is unknown : int so; wchar_t ws[CHAR_NUM]; char s[CHAR_NUM]; so = fwide(stream, 0); /* Check the orientation */ if (so > 0) /* the stream is wide-oriented */ fgetws(ws, CHAR_NUM, stream); else if (so < 0) / * stream is byte-oriented */ fgets(s, CHAR_NUM, stream); else /* the stream is without orientation */ fprintf(stderr, "It is first time to access this file."); WARNINGSIf byte input/output functions are applied to a wide-oriented stream or wide-character input/output functions are applied to a byte-oriented stream, the behavior is undefined. AUTHORThe functionality of the orientation of a stream was developed by HP and Mitsubishi Electric Corporation. SEE ALSOfgetws(3C), fopen(3S), fread(3S), fwide(3C), fwprintf(3C), fwscanf(3C), getc(3S), gets(3S), getwc(3C), popen(3S), printf(3S), putc(3S), puts(3S), putwc(3C), putws(3C), scanf(3S), ungetc(3S), ungetwc(3C). |
Printable version | ||
|