跳转到内容

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


参考文献

[编辑 | 编辑源代码]
华夏公益教科书