getc_unlocked - putchar_unlocked
getc_unlocked(3)
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», за исключением того, что они не используют блокировку (они не
устанавливают блокировки самостоятельно и не проверяют наличие других
блокировок) и, таким образом, не являются нитебезопасными. Смотрите
flockfile(3).
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
getc_unlocked(),
putc_unlocked(),
clearerr_unlocked(),
fflush_unlocked(),
fgetc_unlocked(),
fputc_unlocked(),
fread_unlocked(),
fwrite_unlocked(),
fgets_unlocked(),
fputs_unlocked(),
getwc_unlocked(),
fgetwc_unlocked(),
fputwc_unlocked(),
putwc_unlocked(),
fgetws_unlocked(),
fputws_unlocked()
безвредность в потоках: безвредно (MT-Safe race:stream)
getchar_unlocked(),
getwchar_unlocked()
безвредность в потоках: небезопасно (MT-Unsafe race:stdin)
putchar_unlocked(),
putwchar_unlocked()
безвредность в потоках: небезопасно (MT-Unsafe race:stdout)
feof_unlocked(),
ferror_unlocked(),
fileno_unlocked()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
Четыре функции
getc_unlocked(),
getchar_unlocked(),
putc_unlocked()
и
putchar_unlocked() являются частью стандартов POSIX.1-2001 и
POSIX.1-2008.
В некоторых систем UNIX и последних версиях glibc встречаются нестандартные
варианты функций *_unlocked(). Вероятно, не стоит их использовать.