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


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


C++ 中的fgetws() 函數從給定文件流中讀取指定的最大寬字符數。

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

fgetws()原型

wchar_t* fgetws( wchar_t* str, int count, FILE* stream );

fgetws() 函數從給定的文件流(即流)中讀取最多 count-1 個寬字符,並將它們存儲在 str 指向的數組中。

如果文件結束或在讀取 (count-1) 個寬字符之前找到換行符 (\n),則解析停止。數組str 將包含換行符,以防萬一被發現。

參數:

  • str:指向存儲文件內容的寬字符數組的指針。
  • count:要寫入的最大寬字符數。
  • stream :讀取寬字符的文件流。

返回:

成功時,fgetws() 函數返回 str,失敗時返回空指針。

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

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

int main()
{
	setlocale(LC_ALL, "en_US.UTF-8");
	wchar_t line1[] = L"Hëĺĺo Everɏbȍdy\n";
	wchar_t line2[] = L"C++ ċăn haʼnđle tĥeșë veɍƴ ŵeįrd čhāråcŧerƨ\n";
	wchar_t data[20];

	FILE *fp = fopen("file.txt","r+");
	fputws(line1, fp);
	fputws(line2, fp);
	rewind(fp);

	while(true)
	{
		fgetws(data, 20, fp);
		if(!feof(fp))
			wcout << data << endl;
		else
			break;
	}

	fclose(fp);
	return 0;
}

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

Hëĺĺo Everɏbȍdy
C++ ċăn haʼnđle tĥeș
ë veɍƴ ŵeįrd čhāråc
ŧerƨ

相關用法


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