当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ fwide()用法及代码示例


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++ fwide()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。