C Standard Library
原文地址:http://blog.youkuaiyun.com/shipfi/article/details/166390
Contents
<assert.h>
: Diagnostics<ctype.h>
: Character Class Tests<errno.h>
: Error Codes Reported by (Some) Library Functions<float.h>
: Implementation-defined Floating-Point Limits<limits.h>
: Implementation-defined Limits<locale.h>
: Locale-specific Information<math.h>
: Mathematical Functions<setjmp.h>
: Non-local Jumps<signal.h>
: Signals<stdarg.h>
: Variable Argument Lists<stddef.h>
: Definitions of General Use<stdio.h>
: Input and Output<stdlib.h>
: Utility functions<string.h>
: String functions<time.h>
: Time and Date functions
<assert.h>
-
Macro used for internal error detection. (Ignored if
NDEBUG
is defined where<assert.h>
is included.) If expression equals zero, message printed onstderr
and abort called to terminate execution. Source filename and line number in message are from preprocessor macros__FILE__
and__LINE__
.
void assert(int expression);
[Contents]
<ctype.h>
-
isalpha(c)
orisdigit(c)
-
isupper(c)
orislower(c)
-
is control character. In ASCII, control characters are
0x00
(NUL
) to0x1F
(US
), and0x7F
(DEL
) - is decimal digit
- is printing character other than space
- is lower-case letter
-
is printing character (including space). In ASCII, printing characters are
0x20
(' '
) to0x7E
('~'
) - is printing character other than space, letter, digit
- is space, formfeed, newline, carriage return, tab, vertical tab
- is upper-case letter
- is hexadecimal digit
- return lower-case equivalent
- return upper-case equivalent
int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int tolower(int c);
int toupper(int c);
[Contents]
<errno.h>
- object to which certain library functions assign specific positive values on error
- code used for domain errors
- code used for range errors
errno
EDOM
ERANGE
Notes:
- other implementation-defined error values are permitted
- to determine the value (if any) assigned to errno by a library function, a program should assign zero to errno immediately prior to the function call
[Contents]
<float.h>
- radix of floating-point representations
- floating-point rounding mode
FLT_RADIX
FLT_ROUNDS
Where the prefix "FLT
" pertains to type float
, "DBL
" to type double
, and "LDBL
" to type long double
:
- precision (in decimal digits)
-
smallest number
x such that
1.0 + x != 1.0
-
number of digits, base
FLT_RADIX
, in mantissa - maximum number
-
largest positive integer exponent to which
FLT_RADIX
can be raised and remain representable - minimum normalised number
-
smallest negative integer exponent to which
FLT_RADIX
can be raised and remain representable
FLT_DIG
DBL_DIG
LDBL_DIG
FLT_EPSILON
DBL_EPSILON
LDBL_EPSILON
FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG
FLT_MAX
DBL_MAX
LDBL_MAX
FLT_MAX_EXP
DBL_MAX_EXP
LDBL_MAX_EXP
FLT_MIN
DBL_MIN
LDBL_MIN
FLT_MIN_EXP
DBL_MIN_EXP
LDBL_MIN_EXP
[Contents]
<limits.h>
-
number of bits in a
char
-
maximum value of type
char
-
minimum value of type
char
-
maximum value of type
signed char
-
minimum value of type
signed char
-
maximum value of type
unsigned char
-
maximum value of type
short
-
minimum value of type
short
-
maximum value of type
unsigned short
-
maximum value of type
int
-
minimum value of type
int
-
maximum value of type
unsigned int
-
maximum value of type
long
-
minimum value of type
long
-
maximum value of type
unsigned long
CHAR_BIT
CHAR_MAX
CHAR_MIN
SCHAR_MAX
SCHAR_MIN
UCHAR_MAX
SHRT_MAX
SHRT_MIN
USHRT_MAX
INT_MAX
INT_MIN
UINT_MAX
LONG_MAX
LONG_MIN
ULONG_MAX
[Contents]
<locale.h>
-
Describes formatting of monetary and other numeric values:
- decimal point for non-monetary values
- sizes of digit groups for non-monetary values
- separator for digit groups for non-monetary values (left of "decimal point")
- currency symbol
- international currency symbol
- decimal point for monetary values
- sizes of digit groups for monetary values
- separator for digit groups for monetary values (left of "decimal point")
- negative sign for monetary values
- positive sign for monetary values
- number of digits to be displayed to right of "decimal point" for monetary values
- number of digits to be displayed to right of "decimal point" for international monetary values
-
whether currency symbol precedes (
1
) or follows (0
) negative monetary values -
whether currency symbol is (
1
) or is not (0
) separated by space from negative monetary values -
format for negative monetary values:
- parentheses surround quantity and currency symbol
- sign precedes quantity and currency symbol
- sign follows quantity and currency symbol
- sign immediately precedes currency symbol
- sign immediately follows currency symbol
0
1
2
3
4
char* decimal_point;
char* grouping;
char* thousands_sep;
char* currency_symbol;
char* int_curr_symbol;
char* mon_decimal_point;
char* mon_grouping;
char* mon_thousands_sep;
char* negative_sign;
char* positive_sign;
char frac_digits;
char int_frac_digits;
char n_cs_precedes;
char n_sep_by_space;
char n_sign_posn;
struct lconv
char p_cs_precedes;
1
) or follows (
0
) positive monetary values
char p_sep_by_space;
1
) or is not (
0
) separated by space from non-negative monetary values
char p_sign_posn;
n_sign_posn
Implementations may change field order and include additional fields.
Standard C Library functions use only
decimal_point
.
struct lconv* localeconv(void);
char* setlocale(int category, const char* locale);
category
and
locale
. Returns string describing new locale or null on error. (Implementations are permitted to define values of
category
additional to those describe here.)
LC_ALL
category
argument for all categories
LC_NUMERIC
category
for numeric formatting information
LC_MONETARY
category
for monetary formatting information
LC_COLLATE
category
for information affecting collating functions
LC_CTYPE
category
for information affecting
character class tests functions
LC_TIME
category
for information affecting time conversions functions
NULL
[Contents]
<math.h>
On domain error, implementation-defined value returned and errno
set to EDOM
. On range error, errno
set to ERANGE
and return value is HUGE_VAL
with correct sign for overflow, or zero for underflow. Angles are in radians.
- magnitude returned (with correct sign) on overflow error
-
exponential of
x
-
natural logarithm of
x
-
base-10 logarithm of
x
-
x
raised to powery
-
square root of
x
-
smallest integer not less than
x
-
largest integer not greater than
x
-
absolute value of
x
-
x
times 2 to the powern
-
if
x
non-zero, returns value, with absolute value in interval [1/2, 1), and assigns to*exp
integer such that product of return value and 2 raised to the power*exp
equalsx
; ifx
zero, both return value and*exp
are zero -
returns fractional part and assigns to
*ip
integral part ofx
, both with same sign asx
-
if
y
non-zero, floating-point remainder ofx/y
, with same sign asx
; ify
zero, result is implementation-defined -
sine of
x
-
cosine of
x
-
tangent of
x
-
arc-sine of
x
-
arc-cosine of
x
-
arc-tangent of
x
-
arc-tangent of
y/x
-
hyperbolic sine of
x
-
hyperbolic cosine of
x
-
hyperbolic tangent of
x
HUGE_VAL
double exp(double x);
double log(double x);
double log10(double x);
double pow(double x, double y);
double sqrt(double x);
double ceil(double x);
double floor(double x);
double fabs(double x);
double ldexp(double x, int n);
double frexp(double x, int* exp);
double modf(double x, double* ip);
double fmod(double x, double y);
double sin(double x);
double cos(double x);
double tan(double x);
double asin(double x);
double acos(double x);
double atan(double x);
double atan2(double y, double x);
double sinh(double x);
double cosh(double x);
double tanh(double x);
[Contents]
<setjmp.h>
- type of object holding context information
-
Saves context information in
env
and returns zero. Subsequent call tolongjmp
with same env returns non-zero. -
Restores context saved by most recent call to
setjmp
with specifiedenv
. Execution resumes as a second return fromsetjmp
, with returned valueval
if specified value non-zero, or 1 otherwise.
jmp_buf
int setjmp(jmp_buf env);
void longjmp(jmp_buf env, int val);
[Contents]
<signal.h>
- abnormal termination
- arithmetic error
- invalid execution
- (asynchronous) interactive attention
- illegal storage access
- (asynchronous) termination request
- specifies default signal handling
-
signal
return value indicating error - specifies that signal should be ignored
-
Install handler for subsequent signal
sig. If
handler
isSIG_DFL
, implementation-defined default behaviour will be used; ifSIG_IGN
, signal will be ignored; otherwise function pointed to byhandler
will be invoked with argument sig. In the last case, handling is restored to default behaviour beforehandler
is called. Ifhandler
returns, execution resumes where signal occurred.signal
returns the previous handler orSIG_ERR
on error. Initial state is implementation-defined. Implementations may may define signals additional to those listed here. -
Sends signal
sig
. Returns zero on success.
SIGABRT
SIGFPE
SIGILL
SIGINT
SIGSEGV
SIGTERM
SIG_DFL
SIG_ERR
SIG_IGN
void (*signal(int sig, void (*handler)(int)))(int);
int raise(int sig);
[Contents]
<stdarg.h>
- type of object holding context information
-
Initialisation macro which must be called once before any unnamed argument is accessed. Stores context information in
ap
.lastarg
is the last named parameter of the function. -
Yields value of the type (
type
) and value of the next unnamed argument. - Termination macro which must be called once after argument processing and before exit from function.
va_list
void va_start(va_list ap, lastarg);
type va_arg(va_list ap, type);
void va_end(va_list ap);
[Contents]
<stddef.h>
- Null pointer constant.
-
Offset (in bytes) of member
m
from start of structure typestype
. - Type for objects declared to store result of subtracting pointers.
-
Type for objects declared to store result of
sizeof
operator.
NULL
offsetof(stype, m)
ptrdiff_t
size_t
[Contents]
<stdio.h>
-
Size of buffer used by
setbuf
. - Value used to indicate end-of-stream or to report an error.
- Maximum length required for array of characters to hold a filename.
- Maximum number of files which may be open simultaneously.
-
Number of characters required for temporary filename generated by
tmpnam
. - Null pointer constant.
-
Value for
origin
argument tofseek
specifying current file position. -
Value for
origin
argument tofseek
specifying end of file. -
Value for
origin
argument tofseek
specifying beginning of file. -
Minimum number of unique filenames generated by calls to
tmpnam
. -
Value for
mode
argument tosetvbuf
specifying full buffering. -
Value for
mode
argument tosetvbuf
specifying line buffering. -
Value for
mode
argument tosetvbuf
specifying no buffering. - File pointer for standard input stream. Automatically opened when program execution begins.
- File pointer for standard output stream. Automatically opened when program execution begins.
- File pointer for standard error stream. Automatically opened when program execution begins.
- Type of object holding information necessary to control a stream.
- Type for objects declared to store file position information.
-
Type for objects declared to store result of
sizeof
operator. -
Opens file named
filename
and returns a stream, orNULL
on failure.mode
may be one of the following for text files:- text reading
- text writing
- text append
- text update (reading and writing)
- text update, discarding previous content (if any)
- text append, reading, and writing at end
"r"
"w"
"a"
"r+"
"w+"
"a+"
BUFSIZ
EOF
FILENAME_MAX
FOPEN_MAX
L_tmpnam
NULL
SEEK_CUR
SEEK_END
SEEK_SET
TMP_MAX
_IOFBF
_IOFBF
_IOFBF
stdin
stdout
stderr
FILE
fpos_t
size_t
FILE* fopen(const char* filename, const char* mode);
b
included (after the first character), for binary files.
FILE* freopen(const char* filename, const char* mode, FILE* stream);
stream
, then opens file
filename
with specified mode and associates it with
stream
. Returns
stream
or
NULL
on error.
int fflush(FILE* stream);
stream
and returns zero on success or
EOF on error. Effect undefined for input stream.
fflush(NULL)
flushes all output streams.
int fclose(FILE* stream);
EOF
on error, zero otherwise.
int remove(const char* filename);
int rename(const char* oldname, const char* newname);
oldname
to
newname
. Returns non-zero on failure.
FILE* tmpfile();
"wb+"
) which will be removed when closed or on normal program termination. Returns stream or
NULL
on failure.
char* tmpname(char s[L_tmpnam]);
s
(if
s
non-null) and returns unique name for a temporary file. Unique name is returned for each of the first
TMP_MAX
invocations.
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
stream
.
mode
is
_IOFBF
for full buffering,
_IOLBF
for line buffering,
_IONBF
for no buffering. Non-null
buf
specifies buffer of size
size
to be used; otherwise, a buffer is allocated. Returns non-zero on error. Call must be before any other operation on stream.
void setbuf(FILE* stream, char* buf);
buf
, turns off buffering, otherwise equivalent to
(void)setvbuf(stream, buf, _IOFBF, BUFSIZ)
.
int fprintf(FILE* stream, const char* format, ...);
format
) and writes output to stream
stream
. Number of characters written, or negative value on error, is returned. Conversion specifications consist of:
%
- (optional) flag:
- left adjust
- always sign space
- space if no sign
- zero pad
-
Alternate form: for conversion character
o
, first digit will be zero, for [xX
], prefix0x
or0X
to non-zero value, for [eEfgG
], always decimal point, for [gG
] trailing zeros not removed.
-
+
0
#
- (optional) minimum width: if specified as
*
, value taken from next argument (which must beint
). - (optional)
.
(separating width from precision): - (optional) precision: for conversion character
s
, maximum characters to be printed from the string, for [eEf
], digits after decimal point, for [gG
], significant digits, for an integer, minimum number of digits to be printed. If specified as*
, value taken from next argument (which must beint
). - (optional) length modifier:
-
short
orunsigned short
-
long
orunsigned long
-
long double
h
l
L
-
- conversion character:
-
int
argument, printed in signed decimal notation -
int
argument, printed in unsigned octal notation -
int
argument, printed in unsigned hexadecimal notation -
int
argument, printed in unsigned decimal notation -
int
argument, printed as single character -
char*
argument -
double
argument, printed with format [-
] mmm.
ddd -
double
argument, printed with format [-
] m.
dddddd(e
|E
)(+
|-
) xx -
double
argument -
void*
argument, printed as pointer -
int*
argument : the number of characters written to this point is written into argument - no argument; prints %
d,i
o
x,X
u
c
s
f
e,E
g,G
p
n
%
-
int printf(const char* format, ...);
printf(f, ...)
is equivalent to
fprintf(stdout, f, ...)
int sprintf(char* s, const char* format, ...);
s
, which
must be large enough to hold the output, rather than to a stream. Output is
NUL
-terminated. Returns length (excluding the terminating
NUL
).
int vfprintf(FILE* stream, const char* format, va_list arg);
fprintf
with variable argument list replaced by
arg
, which must have been initialised by the
va_start
macro (and may have been used in calls to
va_arg
).
int vprintf(const char* format, va_list arg);
printf
with variable argument list replaced by
arg
, which must have been initialised by the
va_start
macro (and may have been used in calls to
va_arg
).
int vsprintf(char* s, const char* format, va_list arg);
sprintf
with variable argument list replaced by
arg
, which must have been initialised by the
va_start
macro (and may have been used in calls to
va_arg
).
int fscanf(FILE* stream, const char* format, ...);
stream
according to format
format
. The function returns when
format
is fully processed. Returns number of items converted and assigned, or
EOF
if end-of-file or error occurs before any conversion. Each of the arguments following
format
must be a pointer. Format string may contain:
- blanks and tabs, which are ignored
- ordinary characters, which are expected to match next non-white-space of input
- conversion specifications, consisting of:
%
- (optional) assignment suppression character "
*
" - (optional) maximum field width
- (optional) target width indicator:
-
argument is pointer to
short
rather thanint
-
argument is pointer to
long
rather thanint
, ordouble
rather thanfloat
-
argument is pointer to
long double
rather thanfloat
h
l
L
-
argument is pointer to
- conversion character:
-
decimal integer;
int*
parameter required -
integer;
int*
parameter required; decimal, octal or hex -
octal integer;
int*
parameter required -
unsigned decimal integer;
unsigned int*
parameter required -
hexadecimal integer;
int*
parameter required -
characters;
char*
parameter required; white-space is not skipped, andNUL
-termination is not performed -
string of non-white-space;
char*
parameter required; string isNUL
-terminated -
floating-point number;
float*
parameter required -
pointer value;
void*
parameter required -
chars read so far;
int*
parameter required -
longest non-empty string from specified set;
char*
parameter required; string isNUL
-terminated -
longest non-empty string not from specified set;
char*
parameter required; string isNUL
-terminated -
literal
%
; no assignment
d
i
o
u
x
c
s
e,f,g
p
n
[...]
[^...]
%
-
decimal integer;
int scanf(const char* format, ...);
scanf(f, ...)
is equivalent to
fscanf(stdin, f, ...)
int sscanf(char* s, const char* format, ...);
fscanf
, but input read from string
s
.
int fgetc(FILE* stream);
stream
, or
EOF
on end-of-file or error.
char* fgets(char* s, int n, FILE* stream);
stream
to
s
, stopping when
n
-1 characters copied, newline copied, end-of-file reached or error occurs. If no error,
s
is
NUL
-terminated. Returns
NULL
on end-of-file or error,
s
otherwise.
fputc(int c, FILE* stream);
c
, to stream
stream
. Returns
c
, or
EOF
on error.
char* fputs(const char* s, FILE* stream);
s
, to (output) stream stream. Returns non-negative on success or
EOF
on error.
int getc(FILE* stream);
fgetc
except that it may be a macro.
int getchar(void);
getc(stdin)
.
char* gets(char* s);
stdin
into
s
until newline encountered, end-of-file reached, or error occurs. Does not copy newline.
NUL
-terminates
s
. Returns
s
, or
NULL
on end-of-file or error.
Should not be used because of the potential for buffer overflow.
int putc(int c, FILE* stream);
fputc
except that it may be a macro.
int putchar(int c);
putchar(c)
is equivalent to
putc(c, stdout)
.
int puts(const char* s);
s
(excluding terminating
NUL
) and a newline to
stdout
. Returns non-negative on success,
EOF
on error.
int ungetc(int c, FILE* stream);
c
(which must not be
EOF
), onto (input) stream
stream
such that it will be returned by the next read. Only one character of pushback is guaranteed (for each stream). Returns
c
, or
EOF
on error.
size_t fread(void* ptr, size_t size, size_t nobj, FILE* stream);
nobj
objects of size
size
from stream
stream
into
ptr
and returns number of objects read. (
feof
and
ferror
can be used to check status.)
size_t fwrite(const void* ptr, size_t size, size_t nobj, FILE* stream);
stream
,
nobj
objects of size
size
from array
ptr
. Returns number of objects written.
int fseek(FILE* stream, long offset, int origin);
stream
and clears end-of-file indicator. For a binary stream, file position is set to
offset
bytes from the position indicated by
origin
: beginning of file for
SEEK_SET
, current position for
SEEK_CUR
, or end of file for
SEEK_END
. Behaviour is similar for a text stream, but
offset
must be zero or, for
SEEK_SET
only, a value returned by
ftell
. Returns non-zero on error.
long ftell(FILE* stream);
stream
, or
-1
on error.
void rewind(FILE* stream);
fseek(stream, 0L, SEEK_SET); clearerr(stream)
.
int fgetpos(FILE* stream, fpos_t* ptr);
stream
in
*ptr
. Returns non-zero on error.
int fsetpos(FILE* stream, const fpos_t* ptr);
*ptr
. Returns non-zero on error.
void clearerr(FILE* stream);
stream
.
int feof(FILE* stream);
stream
.
int ferror(FILE* stream);
stream
.
void perror(const char* s);
s
(if non-null) and
strerror(errno)
to standard error as would:
fprintf(stderr, "%s: %s/n", (s != NULL ? s : ""), strerror(errno))
[Contents]
<stdlib.h>
-
Value for
status
argument toexit
indicating failure. -
Value for
status
argument toexit
indicating success. -
Maximum value returned by
rand()
. - Null pointer constant.
-
Return type of
div()
. Structure having members:- quotient
- remainder
int quot;
int rem;
EXIT_FAILURE
EXIT_SUCCESS
RAND_MAX
NULL
div_t
ldiv_t
ldiv()
. Structure having members:
- quotient
- remainder
long quot;
long rem;
size_t
sizeof
operator.
int abs(int n);
long labs(long n);
n
.
div_t div(int num, int denom);
ldiv_t ldiv(long num, long denom);
num/denom
.
double atof(const char* s);
strtod(s, (char**)NULL)
except that
errno
is not necessarily set on conversion error.
int atoi(const char* s);
(int)strtol(s, (char**)NULL, 10)
except that
errno
is not necessarily set on conversion error.
long atol(const char* s);
strtol(s, (char**)NULL, 10)
except that
errno
is not necessarily set on conversion error.
double strtod(const char* s, char** endp);
s
to type
double
. If
endp
non-null, stores pointer to unconverted suffix in
*endp
. On overflow, sets
errno
to
ERANGE
and returns
HUGE_VAL
with the appropriate sign; on underflow, sets
errno
to
ERANGE
and returns zero; otherwise returns converted value.
long strtol(const char* s, char** endp, int base);
s
to type
long
. If
endp
non-nu ll, stores pointer to unconverted suffix in
*endp
. If
base
between 2 and 36, that base used for conversion; if zero, leading (after any sign)
0X
or
0x
implies hexadecimal, leading
0
(after any sign) implies octal, otherwise decimal assumed. Leading
0X
or
0x
permitted for base hexadecimal. On overflow, sets
errno
to
ERANGE
and returns
LONG_MAX
or
LONG_MIN
(as appropriate for sign); otherwise returns converted value.
unsigned long strtoul(const char* s, char** endp, int base);
strtol
except result is
unsigned long
and value on overflow is
ULONG_MAX
.
void* calloc(size_t nobj, size_t size);
nobj
objects each of size
size
, or
NULL
on error.
void* malloc(size_t size);
NULL
on error.
void* realloc(void* p, size_t size);
size
, initialised, to minimum of old and new sizes, to existing contents of
p
(if non-null), or
NULL
on error. On success, old object deallocated, otherwise unchanged.
void free(void* p);
p
non-null, deallocates space to which it points.
void abort();
raise(SIGABRT)
.
void exit(int status);
atexit
are called (in reverse order to that in which installed), open files are flushed, open streams are closed and control is returned to environment.
status
is returned to environment in implementation-dependent manner. Zero or
EXIT_SUCCESS
indicates successful termination and
EXIT_FAILURE
indicates unsuccessful termination. Implementations may define other values.
int atexit(void (*fcm)(void));
fcn
to be called when program terminates normally (or when
main
returns). Returns non-zero on failure.
int system(const char* s);
s
is not
NULL
, passes
s
to environment for execution, and returns status reported by command processor; if
s
is
NULL
, non-zero returned if environment has a command processor.
char* getenv(const char* name);
name
from implementation's environment, or
NULL
if no such string exists.
void* bsearch(const void* key, const void* base, size_t n, size_t size, int (*cmp)(const void* keyval, const void* datum));
base
(of
n
objects each of size
size
) for item matching
key
according to comparison function
cmp
.
cmp
must return negative value if first argument is less than second, zero if equal and positive if greater. Items of
base
are assumed to be in ascending order (according to
cmp
). Returns a pointer to an item matching
key
, or
NULL
if none found.
void qsort(void* base, size_t n, size_t size, int (*cmp)(const void*, const void*));
base
(of
n
objects each of size
size
) according to comparison function
cmp
.
cmp
must return negative value if first argument is less than second, zero if equal and positive if greater.
int rand(void);
0
to
RAND_MAX
.
void srand(unsigned int seed);
seed
as seed for new sequence of pseudo-random numbers. Initial seed is
1
.
[Contents]
<string.h>
- Null pointer constant.
-
Type for objects declared to store result of
sizeof
operator. -
Copies
ct
tos
including terminatingNUL
and returnss
. -
Copies at most
n
characters ofct
tos
. Pads withNUL
characters ifct
is of length less thann
. Note that this may leaves
withoutNUL
-termination. Returns
. -
Concatenate
ct
tos
and returns
. -
Concatenate at most
n
characters ofct
tos
.NUL
-terminatess
and return it. -
Compares
cs
withct
, returning negative value ifcs<ct
, zero ifcs==ct
, positive value ifcs>ct
. -
Compares at most (the first)
n
characters ofcs
andct
, returning negative value ifcs<ct
, zero ifcs==ct
, positive value ifcs>ct
. -
Compares
cs
withct
according to locale, returning negative value ifcs<ct
, zero ifcs==ct
, positive value ifcs>ct
. -
Returns pointer to first occurrence of
c
incs
, orNULL
if not found. -
Returns pointer to last occurrence of
c
incs
, orNULL
if not found. -
Returns length of prefix of
cs
which consists of characters which are inct
. -
Returns length of prefix of
cs
which consists of characters which are not inct
. -
Returns pointer to first occurrence in
cs
of any character ofct
, orNULL
if none is found. -
Returns pointer to first occurrence of
ct
withincs
, orNULL
if none is found. -
Returns length of
cs
. -
Returns pointer to implementation-defined message string corresponding with error
n
. -
Searches
s
for next token delimited by any character fromct
. Non-NULL
s
indicates the first call of a sequence. If a token is found, it isNUL
-terminated and returned, otherwiseNULL
is returned.ct
need not be identical for each call in a sequence. -
Stores in
s
no more thann
characters (including terminatingNUL
) of a string produced fromct
according to a locale-specific transformation. Returns length of entire transformed string. -
Copies
n
characters fromct
tos
and returnss
.s
may be corrupted if objects overlap. -
Copies
n
characters fromct
tos
and returnss
.s
will not be corrupted if objects overlap. -
Compares at most (the first)
n
characters ofcs
andct
, returning negative value ifcs<ct
, zero ifcs==ct
, positive value ifcs>ct
. -
Returns pointer to first occurrence of
c
in firstn
characters ofcs
, orNULL
if not found. -
Replaces each of the first
n
characters ofs
byc
and returnss
.
NULL
size_t
char* strcpy(char* s, const char* ct);
char* strncpy(char* s, const char* ct, size_t n);
char* strcat(char* s, const char* ct);
char* strncat(char* s, const char* ct, size_t n);
int strcmp(const char* cs, const char* ct);
int strncmp(const char* cs, const char* ct, size_t n);
int strcoll(const char* cs, const char* ct);
char* strchr(const char* cs, int c);
char* strrchr(const char* cs, int c);
size_t strspn(const char* cs, const char* ct);
size_t strcspn(const char* cs, const char* ct);
char* strpbrk(const char* cs, const char* ct);
char* strstr(const char* cs, const char* ct);
size_t strlen(const char* cs);
char* strerror(int n);
char* strtok(char* s, const char* t);
size_t strxfrm(char* s, const char* ct, size_t n);
void* memcpy(void* s, const void* ct, size_t n);
void* memmove(void* s, const void* ct, size_t n);
int memcmp(const void* cs, const void* ct, size_t n);
void* memchr(const void* cs, int c, size_t n);
void* memset(void* s, int c, size_t n);
[Contents]
<time.h>
-
The number of
clock_t
units per second. - Null pointer constant.
- An arithmetic type elapsed processor representing time.
- An arithmetic type representing calendar time.
-
Represents the components of calendar time:
- seconds after the minute
- minutes after the hour
- hours since midnight
- day of the month
- months since January
- years since 1900
- days since Sunday
- days since January 1
- Daylight Saving Time flag : is positive if DST is in effect, zero if not in effect, negative if information not known.
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
CLOCKS_PER_SEC
NULL
clock_t
time_t
struct tm
clock_t clock(void);
-1
if not available.
time_t time(time_t* tp);
-1
if not available. If
tp
is non-
NULL
, return value is also assigned to
*tp
.
double difftime(time_t time2, time_t time1);
time2
and
time1
.
time_t mktime(struct tm* tp);
*tp
to fall withing normal ranges. Returns the corresponding calendar time, or
-1
if it cannot be represented.
char* asctime(const struct tm* tp);
Sun Jan 3 13:08:42 1988/n/0
char* ctime(const time_t* tp);
tp
converted to local time. Equivalent to:
asctime(localtime(tp))
struct tm* gmtime(const time_t* tp);
*tp
converted to Coordinated Universal Time, or
NULL
if not available.
struct tm* localtime(const time_t* tp);
*tp
converted into local time.
size_t strftime(char* s, size_t smax, const char* fmt, const struct tm* tp);
*tp
into
s
according to
fmt
. Places no more than
smax
characters into
s
, and returns number of characters produced (excluding terminating
NUL
), or
0
if greater than
smax
. Formatting conversions (
%c
) are:
- name of weekday
- abbreviated name of weekday
- name of month
- abbreviated name of month
- local date and time representation
-
day of month [
01
-31
] -
hour (24-hour clock) [
00
-23
] -
hour (12-hour clock) [
01
-12
] -
day of year [
001
-366
] -
minute [
00
-59
] -
month [
01
-12
] -
local equivalent of "
AM
" or "PM
" -
second [
00
-61
] -
week number of year (Sunday as 1st day of week) [
00
-53
] -
week number of year (Monday as 1st day of week) [
00
-53
] -
weekday (Sunday as
0
) [0
-6
] - local time representation
- local date representation
- year with century
-
year without century [
00
-99
] - name (if any) of time zone
-
%
A
a
B
b
c
d
H
I
j
M
m
p
S
U
W
w
X
x
Y
y
Z
%
Local time may differ from calendar time because of time zone.