📜  C++ getwc()(1)

📅  最后修改于: 2023-12-03 15:13:54.273000             🧑  作者: Mango

C++函数:getwc()

C++的getwc()函数是C标准库<wchar.h>头文件中的函数,用于从文件中逐个读取Unicode字符。

语法

函数的语法如下:

wint_t getwc(FILE* stream);
参数
  • stream: 是一个指向 FILE 对象的指针,该文件指针标示了要读取的流。
返回值

函数返回一个wint_t类型的值,表示读取的Unicode字符。

示例

下面的示例展示了如何使用getwc()函数从文件中读取一个Unicode字符并将其输出到屏幕上:

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

int main () {
  wchar_t ch;
  FILE* pFile;
  pFile = fopen("file.txt","w+"); // 打开文件file.txt,并清空文件内容
  fputwc(L'A',pFile); // 在文件中写入Unicode字符'A'
  rewind(pFile); // 将文件指针重置为文件开头
  ch = getwc(pFile); // 从文件中读取一个Unicode字符
  std::wcout << L"The character I read was: " << ch << std::endl; // 输出读取到的Unicode字符

  fclose(pFile); // 关闭文件
  return 0;
}

输出:

The character I read was: A
说明
  • getwc()函数读取的字符可以是ASCII字符或Unicode字符。
  • 如果函数遇到文件结束或者读取错误时,将返回值设为WEOF(-1),并将错误标志存储在文件指针中。可以使用feof()或ferror()函数来检测文件的结束或错误状态。