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


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