📜  C++ fgetwc()(1)

📅  最后修改于: 2023-12-03 14:59:44.881000             🧑  作者: Mango

C++ fgetwc()

介绍

C++中的fgetwc()是一个用于读取宽字符的函数,可以从指定的文件流中读取一个宽字符并将其返回。它的原型如下:

wint_t fgetwc(FILE *stream);

其中wint_t是宽字符的增强型别,其会保证能够存储所有宽字符的值。

函数参数

fgetwc()有一个参数:stream。stream是一个指向已被打开的文件的指针。

返回值

如果成功,fgetwc()将返回读取到的宽字符,如果到达文件结尾或读取错误,函数将返回EOF。

示例

以下是fgetwc()的一个示例,它从一个已经打开的文本文件中读取宽字符,直到遇到文件结尾为止,然后将读取到的宽字符输出到控制台:

#include <stdio.h>
#include <wchar.h>

int main () {
    FILE * stream;
    wint_t wc;

    stream = fopen ("example.txt" , "r");
    while ((wc = fgetwc(stream)) != WEOF)
        wprintf(L"%lc",wc);
    fclose (stream);

    return 0;
}
注意事项
  • fgetwc()函数在C++11中已被弃用,请使用fgetwc_unlocked()替代它。
  • fgetwc()函数与fgetc()函数类似,但fgetc()只能读取单字节,而fgetwc()可以读取宽字符。
  • 在fgetwc()执行成功后,这个函数在流中留下了一个标记,表示文件流已被读取到的位置。
  • 如果要在逐个读取宽字符之间跳过一个字节,则可以使用fgetwc()的兄弟函数fwide(),将输入流设置成字节流。
参考资料