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


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


C++ 中的getwc() 函数从给定的输入流中读取下一个宽字符。

getwc() 函数类似于 fgetwc() 。它们之间的主要区别是getwc() 可以实现为宏。

它在<cwchar> 头文件中定义。

getwc() 原型

wint_t getwc(FILE* stream);

getwc() 函数将文件流stream 作为其参数,并将给定流中的下一个宽字符作为宽整数类型的值返回。

参数:

  • stream :读取宽字符的文件流。

返回:

  • 成功时,fgetwc() 函数返回读取的宽字符。
  • 失败时返回WEOF.如果发生编码错误,则将 errno 设置为EILSEQ.

示例:getwc() 函数如何工作?

#include <iostream>
#include <cwchar>
#include <cstdio>
#include <clocale>
using namespace std;

int main()
{
	wint_t c;
	FILE *fp = fopen("file.txt","w+");
	setlocale(LC_ALL, "en_US.UTF-8");

	wchar_t str[] = L"\u0102\u01A5\u01A5\u0139\u011B";// equivalent to ĂƥƥĹě
	fputws(str, fp);
	rewind(fp);

	if (fp)
	{
		while(!feof(fp))
		{
			c = getwc(fp);
			putwchar(c);
		}
	}
	else
		wcout << L"Error opening file" << endl;

	fclose(fp);
	return 0;
}

运行程序时,可能的输出将是:

ĂƥƥĹě

相关用法


注:本文由纯净天空筛选整理自 C++ getwc()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。