当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。