當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。