名 前
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 で は 使 用 可 能 で あ る が 、 こ れ ら の 関 数 は 使 わ な い 方 が よ い だ ろ う 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。