最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::ungetwc

namespace std {
  wint_t ungetwc(wint_t c, FILE* stream);
}

概要

入力ストリームに1文字戻す。

戻り値

戻した文字を返す。戻せなかった場合はWEOFを返す。

備考

  • 戻せる文字数は1文字だけが保証される
  • cWEOFである場合はなにも行わず、WEOFを返す
  • fseek()などでファイル位置を変更すると、戻した文字は破棄される

#include <cwchar>
#include <cstdio>
#include <iostream>

int main()
{
  std::FILE* fp = std::fopen("test.txt", "w+");
  std::fputws(L"abc", fp);
  std::rewind(fp);

  std::wint_t c = std::fgetwc(fp);
  std::ungetwc(c, fp);

  // 戻した文字が再び読み込まれる
  std::wcout << (std::fgetwc(fp) == c) << std::endl;

  std::fclose(fp);
}

出力

1

バージョン

言語

  • C++98

関連項目