$

ロックせずにストリームに文字をプッシュ バックします。

構文

int _ungetc_nolock(
   int c,
   FILE *stream
);
wint_t _ungetwc_nolock(
   wint_t c,
   FILE *stream
);

パラメーター

c
プッシュする文字。

stream
FILE 構造体へのポインター。

戻り値

正常に終了した場合、これらの各関数は文字引数 c を返します。 c がプッシュ バックできない場合、または文字が読まれなかった場合は、入力ストリームは変更されず、_ungetc_nolockEOF を返します。_ungetwc_nolock は、WEOF を返します。 streamNULL である場合、EOF または WEOF が返され、errnoEINVAL に設定されます。

これらのエラー コードおよびその他のエラー コードの詳細については、「errno_doserrno_sys_errlist_sys_nerr」を参照してください。

解説

これらの関数は、ungetc および ungetwc のロックなしバージョンです。 _nolock サフィックス付きのバージョンは同じものですが、他のスレッドによる干渉から保護されない点が異なります。 他のスレッドをロックアウトするオーバーヘッドが発生しないため、処理が速くなる場合があります。 これらの関数は、シングルスレッド アプリケーション、呼び出し元のスコープで既にスレッド分離を処理している場合などのスレッドセーフなコンテキストでのみ使用してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

汎用テキスト ルーチンのマップ

TCHAR.H のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_ungettc_nolock _ungetc_nolock _ungetc_nolock _ungetwc_nolock

要件

ルーチンによって返される値 必須ヘッダー
_ungetc_nolock <stdio.h>
_ungetwc_nolock <stdio.h> または <wchar.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

ストリーム入出力
$
$