跳轉到內容

C 程式設計/wchar.h/fgetws

來自 Wikibooks,開放世界中的開放書籍

fgetws 是 C 程式語言中的一個函式。它是函式 fgets 的寬字元版本。fgetws 中的 w 代表寬字元。fgetws 根據流是以 文字/二進位制模式 開啟分別讀取 字串 作為 多位元組字元寬字元字串fgetws 子程式從輸入流中讀取字元,將其轉換為相應的寬字元程式碼,並將它們放置在字串引數指向的陣列中。

子程式繼續直到:

  • 讀取了由數字引數“-1”指定的字元數。
  • 子程式遇到換行符或 EOF 字元。

fgetws 子程式以空寬字元終止寬字元字串。

#include <stdio.h>
#include <wchar.h>
wchar_t *fgetws( 
    wchar_t *string;
    int n;
    FILE *stream ;
);

fgetws 有三個引數

  1. string - 用於提供資料儲存位置的字串
  2. n - 可讀取字元的最大數量
  3. stream - 一個 FILE 指標

儘管 fgetws 相對 fgets 更寬泛,但它可以透過一個額外的可選標頭檔案與 stdio.h 一起編譯,稱為 wchar.h。但是,fgets 必須強制要求 stdio.h。因此,fgetws 提供了選擇。

返回值

[編輯 | 編輯原始碼]

與 fgets 函式一樣,fgetws 函式也返回相同的值字串,即成功時返回一個 ws。該函式使用空指標處理錯誤條件。對於錯誤或甚至在 EOF(檔案結尾)時,都會向被呼叫函式返回空指標。也可以使用 feof 或 ferror 進行錯誤確定。

相容性

[編輯 | 編輯原始碼]

ubuntu、fedora、ANSI、Win 98、Win Me、Win NT、Win 2000、Win XP


參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書