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


C語言 fgetws用法及代碼示例


C語言wchar頭文件(wchar.h)中fgetws函數的用法及代碼示例。

用法:

wchar_t* fgetws (wchar_t* ws, int num, FILE* stream);
從流中獲取寬字符串
從讀取寬字符並將它們存儲為C寬字符串ws直到 (-1)已讀取字符或換行符或文件結束達到,以先發生的為準。

換行符使fgetws停止閱讀,但該函數將其視為有效字符,並包含在複製到的字符串中ws

複製到的字符後會自動附加一個終止的空字符ws

文件中寬字符的外部表示是多字節字符:這些字符的翻譯方式就像mbrtowc被稱為(使用的內部mbstate_t目的)。

該函數的行為就像fgetwc用於讀取流中的字符。

這是寬字符等價於fgets(<cstdio>)。

參數

ws
指向數組的指針wchar_t複製讀取的寬字符串的位置。
num
要複製的最大字符數str(包括終止的null-character)。
stream
指向一個指針FILE標識輸入流的對象。
stdin可用作從中讀取的參數標準輸入
信息流尚未定向,或者wide-oriented(流上的第一個I /O操作確定它是否是字節-或者寬的-麵向,請參閱fwide)。

返回值

成功後,函數返回str
如果文件結束嘗試讀取字符時遇到有效指標設置了(feof)。如果在讀取任何字符之前發生這種情況,則返回的指針為空指針(並且str維持不變)。
如果發生讀取錯誤,則錯誤指示(ferror)設置,並且還返回空指針(但由指向的內容str可能已更改)。

示例

/* fgetws example */
#include <stdio.h>

int main()
{
   FILE * pFile;
   wchar_t mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile != NULL)
   {
     if ( fgetws (mystring , 100 , pFile) != NULL )
       fputws ( mystring, stdout );
     fclose (pFile);
   }
   return 0;
}


本示例讀取的第一行myfile.txt或前99個字符(以先到者為準),然後將其打印在屏幕上。

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C fgetws function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。