Previous Page
Next Page

fwide

Determines whether a stream is byte-character- or wide-character-oriented

#include <stdio.h>
#include <wchar.h>
int fwide ( FILE *fp , int mode  );

The fwide( ) function either gets or sets the character type orientation of a file, depending on the value of the mode argument:


mode > 0

The fwide( ) function attempts to change the file to wide-character orientation.


mode < 0

The function attempts to change the file to byte-character orientation.


mode = 0

The function does not alter the orientation of the stream.

In all three cases, the return value of fwide( ) indicates the stream's orientation after the function call in the same way:


Greater than 0

After the fwide( ) function call, the file has wide-character orientation.


Less than 0

The file now has byte-character orientation.


Equal to 0

The file has no orientation.

The normal usage of fwide( ) is to call it once immediately after opening a file to set it to wide-character orientation. Once you have determined the file's orientation, fwide( ) does not change it on subsequent calls. If you do not call fwide( ) for a given file, its orientation is determined by whether the first read or write operation is byte-oriented or wide-oriented. You can remove a file's byte or wide-character orientation by calling freopen( ). For more information, see "Byte-Oriented and Wide-Oriented Streams" in Chapter 13.

Example

See the example for fputws( ) in this chapter.

See Also

The many functions for working with streams of wide characters, listed under wchar.h in Chapter 15.


Previous Page
Next Page