C++ 中的fwide() 函数或者尝试设置方向,或者查询给定文件流的当前方向。
fwide() 函数在<cwchar> 头文件中定义。
fwide()原型
int fwide( FILE* stream, int mode );
根据 mode 的值,决定 fwide 函数的作用。
- 如果
mode > 0
,此函数尝试制作流 wide-oriented。 - 如果
mode < 0
,此函数尝试使流面向字节。 - 如果
mode == 0
,此函数仅查询流的当前方向。 - 如果流的方向已经通过执行输出或之前对 fwide 的调用确定,则此函数不执行任何操作。
参数:
stream
:指向文件流的指针以设置或查询方向。mode
:一个整数值,用于确定是设置还是查询流的方向。
返回:
fwide() 函数返回:
- 如果流是wide-oriented,则为正整数。
- 如果流是面向字节的,则为负整数。
- 如果流没有方向,则为零。
示例:fwide() 函数如何工作?
#include <cwchar>
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
FILE *fp;
int retVal;
fp = fopen("file.txt","r");
retVal = fwide(fp,0);
if (retVal == 0)
cout << "Stream has no orientation" << endl;
else if (retVal > 0)
cout << "Stream is wide-oriented" << endl;
else
cout << "Stream is byte-oriented" << endl;
/* wide oriented stream */
cout << "Setting stream to wide-orientation" << endl;
retVal = fwide(fp,1);
if (retVal == 0)
cout << "Stream has no orientation" << endl;
else if (retVal > 0)
cout << "Stream is wide-oriented" << endl;
else
cout << "Stream is byte-oriented" << endl;
return 0;
}
运行程序时,输出将是:
Stream has no orientation Setting stream to wide-orientation Stream is wide-oriented
相关用法
- C++ fwscanf()用法及代码示例
- C++ fwprintf()用法及代码示例
- C++ fwrite()用法及代码示例
- C++ fcvt()用法及代码示例
- C++ fmax()用法及代码示例
- C++ fdim()用法及代码示例
- C++ fmin()用法及代码示例
- C++ fetestexcept()用法及代码示例
- C++ forward_list::unique()用法及代码示例
- C++ forward_list::emplace_front()用法及代码示例
- C++ fopen()用法及代码示例
- C++ forward_list::max_size()用法及代码示例
- C++ forward_list::reverse()用法及代码示例
- C++ feupdateenv()用法及代码示例
- C++ forward_list::swap()用法及代码示例
- C++ forward_list::front()、forward_list::empty()用法及代码示例
- C++ functional::bad_function_call用法及代码示例
- C++ find_if()用法及代码示例
- C++ find()用法及代码示例
- C++ forward_list::remove()用法及代码示例
注:本文由纯净天空筛选整理自 C++ fwide()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。