C++官网参考链接:https://cplusplus.com/reference/cwchar/fwide/
函数
fwide
int fwide (FILE* stream, int mode);
流方向
确定stream的方向,如果它还没有确定方向,则可以根据mode的值设置它。
打开时,stream没有方向(包括stdin,stdout和stderr)。但是在一个对象上执行的第一个I/O操作会自动设置它的方向:如果它是一个面向字节的函数(在
通过调用这个函数,可以在任何I/O操作之前显式地建立方向。在一个已经有方向的stream上调用这个函数不能改变它(只有在调用freopen后,一个已经有方向的stream才能改变它)。
该函数可以使用0作为mode来获得stream的当前方向。
形参
stream
指向标识流的FILE对象的指针。
mode
可以指定方向:
模式为0不会改变stream的方向。
大于0的模式使stream面向宽字符。
小于0的模式使stream面向字节。
返回值
该函数根据调用后的stream方向返回一个值:
值为0表示stream还没有方向。
大于0的值表示stream是面向宽字符的。
小于0表示stream是面向字节的。
用例
/* fwide example */
#include
#include
int main ()
{
FILE * pFile;
int ret;
pFile = fopen ("myfile.txt","a");
if (pFile) {
fwide (pFile,1);
ret = fwide (pFile,0);
if (ret>0) puts ("The stream is wide-oriented");
else if (ret<0) puts ("The stream is byte-oriented");
else puts ("The stream is not oriented");
fclose (pFile);
}
return 0;
}
输出:

这跟官网参考答案不同,官网参考答案为:
The stream is wide-oriented