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


C++ fgetwc()用法及代碼示例


C++ 中的fgetwc() 函數從給定的輸入流中讀取下一個寬字符。

fgetwc() 函數在<cwchar> 頭文件中定義。

fgetwc()原型

wint_t fgetwc(FILE* stream);

fgetwc() 函數將文件流作為其參數,並將給定流中的下一個寬字符作為寬整數類型的值返回。

參數:

  • stream :讀取寬字符的文件流。

返回:

  • 成功時,fgetwc() 函數返回讀取的寬字符。
  • 失敗時返回 WEOF。如果發生編碼錯誤,則將 errno 設置為 EILSEQ。

示例:fgetwc() 函數如何工作?

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

int main()
{
	wint_t c;
	FILE *fp = fopen("file.txt","r+");

	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 = fgetwc(fp);
			putwchar(c);
		}
	}
	else
	wcout << L"Error opening file" << endl;

	fclose(fp);
	return 0;
}

運行程序時,可能的輸出將是:

ĂƥƥĹě

相關用法


注:本文由純淨天空篩選整理自 C++ fgetwc()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。