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++ getwchar()用法及代碼示例
- C++ getline(string)用法及代碼示例
- C++ getchar()用法及代碼示例
- C++ getc()用法及代碼示例
- C++ get_allocator()用法及代碼示例
- C++ getenv()用法及代碼示例
- C++ gets()用法及代碼示例
- C++ gmtime()用法及代碼示例
- C++ unordered_map cbegin用法及代碼示例
- C++ map lower_bound()用法及代碼示例
- C++ Unordered_multimap reserve()用法及代碼示例
- C++ list assign()用法及代碼示例
- C++ std::max()用法及代碼示例
- C++ std::string::push_back()用法及代碼示例
- C++ Array swap()用法及代碼示例
- C++ valarray cos用法及代碼示例
- C++ multimap key_comp()用法及代碼示例
- C++ Deque erase()用法及代碼示例
- C++ List cend()用法及代碼示例
- C++ std::less_equal用法及代碼示例
注:本文由純淨天空篩選整理自 C++ getwc()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。