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


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