標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
Single UNIX Specification、バージョン 3 |
両方 | z/OS V1R8 |
#define _UNIX03_SOURCE
#include <stdio.h>
int getc_unlocked(FILE *stream);
int getchar_unlocked(void);
int putc_unlocked(int c, FILE *stream);
int putchar_unlocked(int c);
関数 getc()、getchar()、putc()、および putchar() (それぞれ getc_unlocked()、 getchar_unlocked()、 putc_unlocked()、 および putchar_unlocked() という名前) のバージョンの機能は、これらがスレッド・セーフではないという点を除けば、そのオリジナルのバージョンと同等です。 これらの関数がマルチスレッドのプログラムで安全に使用される可能性があるのは、呼び出しスレッドが (FILE*) オブジェクトを所有している間にこの関数が呼び出された場合に限られます。これは、flockfile() または ftrylockfile() 関数への呼び出しが正常に行われた後と同様です。
getc_unlocked、getchar_unlocked、putc_unlocked、putchar_unlocked は、かなり効率の良いマクロの形式で提供されます。パフォーマンスのために、関数形式ではなく マクロ形式を使用することをお勧めします。デフォルト解釈で、stdio.h は、これらの関数のマクロ版を提供します。
getc_unlocked、getchar_unlocked、putc_unlocked、および putchar_unlocked は、type=record または type=blocked を使用してオープンされたファイルではサポートされません。
getc()、getchar() - 文字の読み取りおよび putc()、putchar() - 文字の書き込みを参照してください。