Manpages

名 前

getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked − ロ ッ ク を 行 わ ず に 標 準 入 出 力 を 行 う 関 数 群

書 式

#include <stdio.h>

int getc_unlocked(FILE *stream);
int getchar_unlocked(void);
int putc_unlocked(int
c, FILE *stream);
int putchar_unlocked(int
c);

void clearerr_unlocked(FILE *stream);
int feof_unlocked(FILE *
stream);
int ferror_unlocked(FILE *
stream);
int fileno_unlocked(FILE *
stream);
int fflush_unlocked(FILE *
stream);
int fgetc_unlocked(FILE *
stream);
int fputc_unlocked(int
c, FILE *stream);
size_t fread_unlocked(void *
ptr, size_t size, size_t n,
FILE *
stream);
size_t fwrite_unlocked(const void *
ptr, size_t size, size_t n,
FILE *
stream);

char *fgets_unlocked(char *s, int n, FILE *stream);
int fputs_unlocked(const char *
s, FILE *stream);

#include <wchar.h>

wint_t getwc_unlocked(FILE *stream);
wint_t getwchar_unlocked(void);
wint_t fgetwc_unlocked(FILE *
stream);
wint_t fputwc_unlocked(wchar_t
wc, FILE *stream);
wint_t putwc_unlocked(wchar_t
wc, FILE *stream);
wint_t putwchar_unlocked(wchar_t
wc);
wchar_t *fgetws_unlocked(wchar_t *
ws, int n, FILE *stream);
int fputws_unlocked(const wchar_t *
ws, FILE *stream);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked():

_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE || _BSD_SOURCE || _SVID_SOURCE

clearerr_unlocked(), feof_unlocked(), ferror_unlocked(), fileno_unlocked(), fflush_unlocked(), fgetc_unlocked(), fputc_unlocked(), fread_unlocked(), fwrite_unlocked():

_BSD_SOURCE || _SVID_SOURCE

fgets_unlocked(), fputs_unlocked(), getwc_unlocked(), getwchar_unlocked(), fgetwc_unlocked(), fputwc_unlocked(), putwchar_unlocked(), fgetws_unlocked(), fputws_unlocked():

_GNU_SOURCE

説 明

こ れ ら の 関 数 は 、 末 尾 に "_unlocked" が つ い て い な い 関 数 と 同 じ 動 作 を す る が 、 フ ァ イ ル の ロ ッ ク を 使 用 し な い 点 が 異 な る 。 (こ れ ら の 関 数 自 身 は フ ァ イ ル の ロ ッ ク を セ ッ ト せ ず 、 他 の 関 数 に よ っ て ロ ッ ク が セ ッ ト さ れ て い る か ど う か の チ ェ ッ ク も 行 わ な い ) そ れ ゆ え 、 ス レ ッ ド (thread)で 安 全 に 使 用 す る こ と が で き な い 。 flockfile(3) を 参 照 の こ と 。

準 拠

getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked() の 4 つ の 関 数 は POSIX.1−2001 に 規 定 さ れ て い る 。 非 標 準 の *_unlocked() の 仲 間 は 2、 3 の UNIX シ ス テ ム で 定 義 さ れ て お り 、 最 近 の glibc で は 使 用 可 能 で あ る が 、 こ れ ら の 関 数 は 使 わ な い 方 が よ い だ ろ う 。

関 連 項 目

flockfile(3), stdio(3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。